[{"data":1,"prerenderedAt":37623},["ShallowReactive",2],{"navigation_docs":3,"-react-native-expo-router-basics":3497,"-react-native-expo-router-basics-surround":37618},[4,1707,1912,2366,2547,2673,2880,3002,3052,3109,3143,3269,3346,3360,3423,3440,3493],{"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},"React Native","\u002Freact-native","15.react-native",[3365,3367,3371,3375,3379,3383,3387,3391,3395,3399,3403,3407,3411,3415,3419],{"title":3361,"path":3362,"stem":3366},"15.react-native\u002Findex",{"title":3368,"path":3369,"stem":3370},"React Native — навіщо він потрібен","\u002Freact-native\u002Fwhy-react-native","15.react-native\u002F01.why-react-native",{"title":3372,"path":3373,"stem":3374},"Як влаштований React Native «під капотом»","\u002Freact-native\u002Freact-native-architecture","15.react-native\u002F02.react-native-architecture",{"title":3376,"path":3377,"stem":3378},"Expo і класичний React Native — два шляхи одного фреймворку","\u002Freact-native\u002Fexpo-vs-cli-landscape","15.react-native\u002F03.expo-vs-cli-landscape",{"title":3380,"path":3381,"stem":3382},"Середовище Expo — перший запуск","\u002Freact-native\u002Fexpo-setup-and-tooling","15.react-native\u002F04.expo-setup-and-tooling",{"title":3384,"path":3385,"stem":3386},"Структура проєкту та перші UI-примітиви","\u002Freact-native\u002Fproject-structure-and-conventions","15.react-native\u002F05.project-structure-and-conventions",{"title":3388,"path":3389,"stem":3390},"Базові компоненти React Native","\u002Freact-native\u002Fcore-components","15.react-native\u002F06.core-components",{"title":3392,"path":3393,"stem":3394},"Flexbox і layout у React Native","\u002Freact-native\u002Fflexbox-and-layout","15.react-native\u002F07.flexbox-and-layout",{"title":3396,"path":3397,"stem":3398},"StyleSheet і теми (light \u002F dark)","\u002Freact-native\u002Fstylesheet-and-theming","15.react-native\u002F08.stylesheet-and-theming",{"title":3400,"path":3401,"stem":3402},"Списки та віртуалізація","\u002Freact-native\u002Flists-and-virtualization","15.react-native\u002F09.lists-and-virtualization",{"title":3404,"path":3405,"stem":3406},"Форми, ввід і валідація","\u002Freact-native\u002Fforms-input-validation","15.react-native\u002F10.forms-input-validation",{"title":3408,"path":3409,"stem":3410},"Основи Expo Router","\u002Freact-native\u002Fexpo-router-basics","15.react-native\u002F11.expo-router-basics",{"title":3412,"path":3413,"stem":3414},"Вкладені навігатори та модалки","\u002Freact-native\u002Fnested-navigators-and-modals","15.react-native\u002F12.nested-navigators-and-modals",{"title":3416,"path":3417,"stem":3418},"Deep linking і параметри маршрутів","\u002Freact-native\u002Fdeep-linking-and-params","15.react-native\u002F13.deep-linking-and-params",{"title":3420,"path":3421,"stem":3422},"Робота з мережею та життєвий цикл застосунку","\u002Freact-native\u002Fnetworking-and-app-lifecycle","15.react-native\u002F14.networking-and-app-lifecycle",{"title":3424,"path":3425,"stem":3426,"children":3427,"page":59},"Ai Python","\u002Fai-python","16.ai-python",[3428,3432,3436],{"title":3429,"path":3430,"stem":3431},"Вступ до штучного інтелекту та машинного навчання","\u002Fai-python\u002Fintro-to-ai","16.ai-python\u002F01.intro-to-ai",{"title":3433,"path":3434,"stem":3435},"Знайомство з Jupyter Notebook та JupyterLab","\u002Fai-python\u002Fjupyter-notebook","16.ai-python\u002F02.jupyter-notebook",{"title":3437,"path":3438,"stem":3439},"Робота з даними з використанням NumPy і pandas","\u002Fai-python\u002Fnumpy-pandas","16.ai-python\u002F03.numpy-pandas",{"title":3441,"path":3442,"stem":3443,"children":3444,"page":59},"Tailwind","\u002Ftailwind","21.tailwind",[3445,3449,3453,3457,3461,3465,3469,3473,3477,3481,3485,3489],{"title":3446,"path":3447,"stem":3448},"Що таке Tailwind CSS і навіщо він потрібен","\u002Ftailwind\u002Ftailwind-intro-philosophy","21.tailwind\u002F01.tailwind-intro-philosophy",{"title":3450,"path":3451,"stem":3452},"Встановлення та налаштування Tailwind CSS v4","\u002Ftailwind\u002Ftailwind-installation-setup","21.tailwind\u002F02.tailwind-installation-setup",{"title":3454,"path":3455,"stem":3456},"Utility-класи: основи та система Tailwind","\u002Ftailwind\u002Ftailwind-utility-classes-core","21.tailwind\u002F03.tailwind-utility-classes-core",{"title":3458,"path":3459,"stem":3460},"Layout: Flexbox та Grid через Tailwind","\u002Ftailwind\u002Ftailwind-flexbox-grid","21.tailwind\u002F04.tailwind-flexbox-grid",{"title":3462,"path":3463,"stem":3464},"Кастомізація теми через @theme у Tailwind v4","\u002Ftailwind\u002Ftailwind-theme-customization","21.tailwind\u002F05.tailwind-theme-customization",{"title":3466,"path":3467,"stem":3468},"Варіанти: hover, focus, responsive, dark mode та нові v4","\u002Ftailwind\u002Ftailwind-variants-states","21.tailwind\u002F06.tailwind-variants-states",{"title":3470,"path":3471,"stem":3472},"Типографіка та система кольорів у Tailwind v4","\u002Ftailwind\u002Ftailwind-typography-colors","21.tailwind\u002F07.tailwind-typography-colors",{"title":3474,"path":3475,"stem":3476},"Компоненти та повторюваність: @apply, @utility та патерни","\u002Ftailwind\u002Ftailwind-components-patterns","21.tailwind\u002F08.tailwind-components-patterns",{"title":3478,"path":3479,"stem":3480},"Темна тема та система дизайн-токенів у Tailwind v4","\u002Ftailwind\u002Ftailwind-dark-mode-theming","21.tailwind\u002F09.tailwind-dark-mode-theming",{"title":3482,"path":3483,"stem":3484},"Довільні значення та контейнерні запити у Tailwind v4","\u002Ftailwind\u002Ftailwind-arbitrary-container-queries","21.tailwind\u002F10.tailwind-arbitrary-container-queries",{"title":3486,"path":3487,"stem":3488},"Анімації, трансформації та 3D у Tailwind v4","\u002Ftailwind\u002Ftailwind-animations-transforms","21.tailwind\u002F11.tailwind-animations-transforms",{"title":3490,"path":3491,"stem":3492},"Tailwind CLI, PostCSS та інтеграція з фреймворками","\u002Ftailwind\u002Ftailwind-cli-tooling","21.tailwind\u002F12.tailwind-cli-tooling",{"title":3494,"path":3495,"stem":3496},"Тестування компонентів діаграм","\u002Ftest-components","98.test-components",{"id":3498,"title":3408,"body":3499,"description":37613,"extension":12693,"links":37614,"meta":37615,"navigation":5212,"path":3409,"seo":37616,"stem":3410,"__hash__":37617},"docs\u002F15.react-native\u002F11.expo-router-basics.md",{"type":3500,"value":3501,"toc":37518},"minimark",[3502,3506,3511,3542,3545,3564,3582,3585,3676,3700,3714,3724,3727,3731,3738,3741,3903,3906,3924,3941,3947,3949,3953,4088,4104,4109,4127,4130,4145,4148,4176,4185,4187,4195,4198,4224,4241,4244,4252,4254,4258,4279,4293,4306,4308,4314,4340,4343,4370,4384,4391,4425,4429,4606,4623,4625,4631,4695,4711,4720,4722,4726,4751,4754,4757,4768,4775,4782,4854,4858,4876,4885,4887,4891,4914,4917,4932,4999,5003,5016,5018,5026,5047,5093,5104,5107,5128,5130,5137,5144,5150,5164,5258,5270,5351,5361,5367,5383,5423,5508,5512,5564,5566,5573,5584,5606,5617,5631,5633,5637,5652,5659,5689,5703,5706,5708,5712,5734,5739,5753,5758,5760,5764,5772,5775,5781,5787,5794,5802,5812,5831,5835,5841,5849,5855,5857,5861,5865,5880,5883,5907,5911,5917,5921,6010,6017,6024,6534,6541,6547,6835,6842,6851,7275,7281,7285,8241,8247,8252,8740,8747,8760,9548,9560,9567,9590,9599,9621,9625,9671,9675,9729,9733,9806,9808,9812,9819,9823,9829,9852,9859,9863,9868,9882,9887,9977,9981,10008,10012,35870,35874,35920,35924,35999,36003,36010,37320,37322,37326,37330,37348,37352,37375,37379,37409,37411,37415,37467,37469,37473,37493,37515],[3503,3504,3408],"h1",{"id":3505},"основи-expo-router",[3507,3508,3510],"h2",{"id":3509},"з-чого-почати","З чого почати",[3512,3513,3514,3515,3519,3520,3524,3525,3528,3529,3532,3533,3537,3538,3541],"p",{},"До цього моменту майже весь Nomad жив на ",[3516,3517,3518],"strong",{},"одному"," «головному» екрані: список поїздок, місця в шапці списку, кнопка «Нова поїздка». Форму створення ми вже винесли в окремий файл ",[3521,3522,3523],"code",{},"create-trip.tsx"," і відкривали через ",[3521,3526,3527],{},"router.push"," — це був ",[3516,3530,3531],{},"мінімальний"," натяк на навігацію, без пояснення, ",[3534,3535,3536],"em",{},"чому"," файл стає екраном і ",[3534,3539,3540],{},"як"," влаштована оболонка всього застосунку.",[3512,3543,3544],{},"У реальному мобільному продукті екранів десятки: стрічка, деталі, налаштування, пошук, вхід. Користувач очікує:",[3546,3547,3548,3555,3561],"ul",{},[3549,3550,3551,3554],"li",{},[3516,3552,3553],{},"нижні вкладки"," для головних розділів (як у Instagram чи банківському клієнті);",[3549,3556,3557,3560],{},[3516,3558,3559],{},"стопку екранів"," зі стрічкою «назад» (відкрили деталі — повернулись жестом або кнопкою);",[3549,3562,3563],{},"передбачувану поведінку системної кнопки «назад» на Android.",[3512,3565,3566,3569,3570,3573,3574,3577,3578,3581],{},[3516,3567,3568],{},"Expo Router"," — бібліотека навігації в екосистемі Expo, яка будує ці екрани з ",[3516,3571,3572],{},"файлів і тек"," у каталозі ",[3521,3575,3576],{},"app\u002F",". Ідея близька до file-based routing у Next.js: шлях на диску визначає ",[3516,3579,3580],{},"маршрут"," (route) у застосунку.",[3512,3583,3584],{},"Після статті ви зможете:",[3586,3587,3588,3602,3611,3622,3648,3662,3669],"ol",{},[3549,3589,3590,3591,3594,3595,3597,3598,3601],{},"Пояснити, що таке ",[3516,3592,3593],{},"file-based routing"," і чим ",[3521,3596,3576],{}," відрізняється від ",[3521,3599,3600],{},"src\u002F",".",[3549,3603,3604,3605,3610],{},"Зібрати ",[3516,3606,3607],{},[3521,3608,3609],{},"_layout.tsx"," як оболонку (providers + навігатор).",[3549,3612,3613,3614,3617,3618,3621],{},"Налаштувати ",[3516,3615,3616],{},"Tabs"," (нижні вкладки) і ",[3516,3619,3620],{},"Stack"," (стопка).",[3549,3623,3624,3625,3630,3631,3636,3637,3640,3641,3640,3644,3647],{},"Переходити між екранами через ",[3516,3626,3627],{},[3521,3628,3629],{},"Link"," і ",[3516,3632,3633],{},[3521,3634,3635],{},"useRouter"," (",[3521,3638,3639],{},"push",", ",[3521,3642,3643],{},"back",[3521,3645,3646],{},"replace",").",[3549,3649,3650,3651,3654,3655,3640,3658,3661],{},"Зрозуміти ",[3516,3652,3653],{},"групи"," ",[3521,3656,3657],{},"(tabs)",[3516,3659,3660],{},"index","-маршрути, заголовок і кнопку «назад».",[3549,3663,3664,3665,3668],{},"Увімкнути ",[3516,3666,3667],{},"typed routes"," на рівні знайомства.",[3549,3670,3671,3672,3675],{},"Зібрати міні-проєкт «Довідник міст» і перебудувати ",[3516,3673,3674],{},"Nomad"," на tabs + create-trip.",[3677,3678,3679,3682,3683,3686,3687,3692,3693,3695,3696,3699],"note",{},[3516,3680,3681],{},"Головна думка."," Екран у Expo Router — це не «просто компонент у ",[3521,3684,3685],{},"switch","». Це ",[3516,3688,3689,3690],{},"файл у ",[3521,3691,3576],{},", який бібліотека перетворює на ",[3516,3694,3580],{},". Layout — постійна оболонка навколо дочірніх маршрутів. Tabs і Stack — два різні ",[3516,3697,3698],{},"способи"," змінювати, який дочірній екран видно зараз.",[3701,3702,3703,3654,3706,3709,3710,3713],"tip",{},[3516,3704,3705],{},"Прев’ю на сайті.",[3521,3707,3708],{},"::react-native-preview"," не містить Expo Router. Демо навігації перевіряйте в ",[3516,3711,3712],{},"Expo Go"," \u002F симуляторі. На сторінці — схеми, код і текстові розбори.",[3512,3715,3716,3717,3601],{},"Код Nomad: ",[3718,3719,3723],"a",{"href":3720,"rel":3721},"https:\u002F\u002Fgithub.com\u002Farakviel\u002Fnomad",[3722],"nofollow","github.com\u002Farakviel\u002Fnomad",[3725,3726],"hr",{},[3507,3728,3730],{"id":3729},"навіщо-навігація-окремою-темою","Навіщо навігація окремою темою",[3512,3732,3733,3734,3737],{},"У веб-React ви звикли до «сторінок» і URL. На телефоні немає адресного рядка в тому ж вигляді, але ",[3516,3735,3736],{},"задача та сама",": показати інший екран, запам’ятати, звідки прийшли, дати повернутись.",[3512,3739,3740],{},"Без бібліотеки навігації новачки часто роблять:",[3742,3743,3748],"pre",{"className":3744,"code":3745,"language":3746,"meta":3747,"style":3747},"language-tsx shiki shiki-themes light-plus dark-plus dark-plus","const [screen, setScreen] = useState\u003C'home' | 'form'>('home');\nif (screen === 'form') return \u003CForm onBack={() => setScreen('home')} \u002F>;\nreturn \u003CHome onOpenForm={() => setScreen('form')} \u002F>;\n","tsx","",[3521,3749,3750,3800,3868],{"__ignoreMap":3747},[3751,3752,3755,3759,3763,3767,3769,3772,3775,3779,3782,3786,3789,3792,3795,3797],"span",{"class":3753,"line":3754},"line",1,[3751,3756,3758],{"class":3757},"su1O8","const",[3751,3760,3762],{"class":3761},"sHH4Y"," [",[3751,3764,3766],{"class":3765},"s-QsJ","screen",[3751,3768,3640],{"class":3761},[3751,3770,3771],{"class":3765},"setScreen",[3751,3773,3774],{"class":3761},"] = ",[3751,3776,3778],{"class":3777},"s8Opu","useState",[3751,3780,3781],{"class":3761},"\u003C",[3751,3783,3785],{"class":3784},"sbdoH","'home'",[3751,3787,3788],{"class":3761}," | ",[3751,3790,3791],{"class":3784},"'form'",[3751,3793,3794],{"class":3761},">(",[3751,3796,3785],{"class":3784},[3751,3798,3799],{"class":3761},");\n",[3751,3801,3803,3807,3809,3812,3815,3817,3820,3823,3827,3831,3835,3838,3841,3845,3848,3851,3854,3856,3859,3862,3865],{"class":3753,"line":3802},2,[3751,3804,3806],{"class":3805},"s8xlr","if",[3751,3808,3636],{"class":3761},[3751,3810,3766],{"class":3811},"siwwj",[3751,3813,3814],{"class":3761}," === ",[3751,3816,3791],{"class":3784},[3751,3818,3819],{"class":3761},") ",[3751,3821,3822],{"class":3805},"return",[3751,3824,3826],{"class":3825},"s0P7L"," \u003C",[3751,3828,3830],{"class":3829},"sN1BT","Form",[3751,3832,3834],{"class":3833},"sa4r_"," onBack",[3751,3836,3837],{"class":3761},"=",[3751,3839,3840],{"class":3757},"{",[3751,3842,3844],{"class":3843},"sD7JJ","() ",[3751,3846,3847],{"class":3757},"=>",[3751,3849,3850],{"class":3777}," setScreen",[3751,3852,3853],{"class":3843},"(",[3751,3855,3785],{"class":3784},[3751,3857,3858],{"class":3843},")",[3751,3860,3861],{"class":3757},"}",[3751,3863,3864],{"class":3825}," \u002F>",[3751,3866,3867],{"class":3761},";\n",[3751,3869,3871,3873,3875,3878,3881,3883,3885,3887,3889,3891,3893,3895,3897,3899,3901],{"class":3753,"line":3870},3,[3751,3872,3822],{"class":3805},[3751,3874,3826],{"class":3825},[3751,3876,3877],{"class":3829},"Home",[3751,3879,3880],{"class":3833}," onOpenForm",[3751,3882,3837],{"class":3761},[3751,3884,3840],{"class":3757},[3751,3886,3844],{"class":3843},[3751,3888,3847],{"class":3757},[3751,3890,3850],{"class":3777},[3751,3892,3853],{"class":3843},[3751,3894,3791],{"class":3784},[3751,3896,3858],{"class":3843},[3751,3898,3861],{"class":3757},[3751,3900,3864],{"class":3825},[3751,3902,3867],{"class":3761},[3512,3904,3905],{},"Для двох екранів це працює. Далі з’являються:",[3546,3907,3908,3911,3918,3921],{},[3549,3909,3910],{},"вкладені «стопки» (home → detail → edit);",[3549,3912,3913,3914,3917],{},"вкладки, які ",[3516,3915,3916],{},"не"," повинні знищувати стан сусідньої вкладки;",[3549,3919,3920],{},"системний жест «назад»;",[3549,3922,3923],{},"deep link «відкрий одразу цей екран» (наступні статті).",[3512,3925,3926,3929,3930,3932,3933,3936,3937,3940],{},[3516,3927,3928],{},"React Navigation"," — низькорівнева бібліотека навігації для React Native (стек, таби, drawer). ",[3516,3931,3568],{}," будується ",[3516,3934,3935],{},"поверх"," React Navigation і додає ",[3516,3938,3939],{},"file-based"," шар: ви менше пишете конфіг «список екранів у JS-об’єкті», більше — структуру тек.",[3512,3942,3943,3944,3946],{},"У курсі основний шлях — ",[3516,3945,3568],{},", бо Nomad уже на Expo, і той самий підхід узгоджується з документацією Expo.",[3725,3948],{},[3507,3950,3952],{"id":3951},"місток-з-web-react","Місток з web React",[3954,3955,3956,3972],"table",{},[3957,3958,3959],"thead",{},[3960,3961,3962,3966,3969],"tr",{},[3963,3964,3965],"th",{},"На вебі",[3963,3967,3968],{},"У Expo Router",[3963,3970,3971],{},"Коментар",[3973,3974,3975,3996,4010,4033,4050,4062,4077],"tbody",{},[3960,3976,3977,3984,3993],{},[3978,3979,3980,3981],"td",{},"URL ",[3521,3982,3983],{},"\u002Fabout",[3978,3985,3986,3987,3989,3990],{},"маршрут ",[3521,3988,3983],{}," з файлу ",[3521,3991,3992],{},"app\u002Fabout.tsx",[3978,3994,3995],{},"шлях «схожий» на URL",[3960,3997,3998,4003,4008],{},[3978,3999,4000,4001],{},"React Router \u002F Next.js ",[3521,4002,3576],{},[3978,4004,4005,4006],{},"Expo Router ",[3521,4007,3576],{},[3978,4009,3593],{},[3960,4011,4012,4021,4030],{},[3978,4013,4014,4017,4018],{},[3521,4015,4016],{},"\u003Ca href>"," \u002F ",[3521,4019,4020],{},"\u003CLink>",[3978,4022,4023,4026,4027],{},[3521,4024,4025],{},"\u003CLink href=\"…\">"," з ",[3521,4028,4029],{},"expo-router",[3978,4031,4032],{},"декларативний перехід",[3960,4034,4035,4040,4047],{},[3978,4036,4037,4039],{},[3521,4038,3527],{}," (Next)",[3978,4041,4042,4026,4044],{},[3521,4043,3527],{},[3521,4045,4046],{},"useRouter()",[3978,4048,4049],{},"імперативний перехід",[3960,4051,4052,4055,4059],{},[3978,4053,4054],{},"layout.tsx (Next)",[3978,4056,4057],{},[3521,4058,3609],{},[3978,4060,4061],{},"оболонка сегмента",[3960,4063,4064,4067,4074],{},[3978,4065,4066],{},"вкладені layout",[3978,4068,4069,4070,4073],{},"вкладені ",[3521,4071,4072],{},"_layout"," у підтеках",[3978,4075,4076],{},"Tabs всередині Stack тощо",[3960,4078,4079,4082,4085],{},[3978,4080,4081],{},"query\u002Fparams у URL",[3978,4083,4084],{},"params (глибше — стаття 13)",[3978,4086,4087],{},"на старті — статичні шляхи",[4089,4090,4091,3654,4094,4097,4098,4100,4101,4103],"warning",{},[3516,4092,4093],{},"Не плутати.",[3521,4095,4096],{},"react-router-dom"," з вебу ",[3516,4099,3916],{}," ставлять у React Native для цієї задачі. API інший, навігатори — нативні. Expo Router — окремий пакет (",[3521,4102,4029],{},"), уже є в залежностях Nomad.",[4105,4106,4108],"h3",{"id":4107},"чому-файл-маршрут-зручно","Чому «файл = маршрут» зручно",[3512,4110,4111,4112,4115,4116,4119,4120,4123,4124,3601],{},"У Next.js звичка: створив ",[3521,4113,4114],{},"app\u002Fsettings\u002Fpage.tsx"," — з’явилась сторінка settings. У Expo Router: створив ",[3521,4117,4118],{},"app\u002Fsettings.tsx"," (або ",[3521,4121,4122],{},"app\u002Fsettings\u002Findex.tsx",") — з’явився екран, на який можна ",[3521,4125,4126],{},"href=\"\u002Fsettings\"",[3512,4128,4129],{},"Переваги для команди:",[3546,4131,4132,4139,4142],{},[3549,4133,4134,4135,4138],{},"структура проєкту ",[3516,4136,4137],{},"читається"," як карта застосунку;",[3549,4140,4141],{},"менше «магічного» реєстру екранів у одному великому файлі;",[3549,4143,4144],{},"deep linking (пізніше) природно лягає на ті самі шляхи.",[3512,4146,4147],{},"Обмеження, про які варто знати одразу:",[3546,4149,4150,4159,4173],{},[3549,4151,4152,4153,4155,4156,4158],{},"не кожен файл у ",[3521,4154,3576],{}," — екран (наприклад ",[3521,4157,3609],{}," — оболонка);",[3549,4160,4161,4162,3630,4165,4168,4169,4172],{},"імена з ",[3521,4163,4164],{},"_",[3521,4166,4167],{},"()"," мають ",[3516,4170,4171],{},"спеціальний"," сенс;",[3549,4174,4175],{},"навігація — не лише файли: треба обрати Stack vs Tabs і налаштувати заголовки.",[3512,4177,4178],{},[4179,4180],"img",{"alt":4181,"className":4182,"src":4184},"Файл на диску → маршрут у застосунку",[4183],"diagram-img","\u002Fimages\u002Freact-native\u002Fexpo-router-basics\u002F01.svg",[3725,4186],{},[3507,4188,4190,4191,3630,4193],{"id":4189},"тека-app-і-src","Тека ",[3521,4192,3576],{},[3521,4194,3600],{},[3512,4196,4197],{},"У структурі курсу (стаття 05):",[3546,4199,4200,4211],{},[3549,4201,4202,4206,4207,4210],{},[3516,4203,4204],{},[3521,4205,3576],{}," — ",[3516,4208,4209],{},"маршрути й layout навігації"," (те, що «є екраном» для користувача).",[3549,4212,4213,4206,4217,4220,4221,3647],{},[3516,4214,4215],{},[3521,4216,3600],{},[3516,4218,4219],{},"логіка, UI-компоненти, тема, features"," (те, що екрани ",[3516,4222,4223],{},"імпортують",[3512,4225,4226,4227,4230,4231,3630,4234,4237,4238,4240],{},"Екран має лишатися тонким: зібрав дані з хуків, розклав ",[3521,4228,4229],{},"Screen"," \u002F списки \u002F форми з ",[3521,4232,4233],{},"@\u002Ffeatures",[3521,4235,4236],{},"@\u002Fshared",". Бізнес-логіку в ",[3521,4239,3576],{}," не розмножують без потреби — інакше маршрути перетворюються на «божественні» файли на тисячі рядків.",[3512,4242,4243],{},"У Nomad після цієї статті:",[3742,4245,4250],{"className":4246,"code":4248,"language":4249,"meta":3747},[4247],"language-text","app\u002F\n  _layout.tsx           ← корінь: providers + Stack\n  (tabs)\u002F\n    _layout.tsx         ← Tabs\n    index.tsx           ← \u002F  (Поїздки)\n    places.tsx          ← \u002Fplaces\n    about.tsx           ← \u002Fabout\n  create-trip.tsx       ← \u002Fcreate-trip (Stack поверх tabs)\nsrc\u002F\n  features\u002Ftrips\u002F…\n  shared\u002F…\n","text",[3521,4251,4248],{"__ignoreMap":3747},[3725,4253],{},[3507,4255,4257],{"id":4256},"що-таке-маршрут-route-і-екран-screen","Що таке маршрут (route) і екран (screen)",[3512,4259,4260,3636,4263,4266,4267,4270,4271,4274,4275,4278],{},[3516,4261,4262],{},"Маршрут",[3534,4264,4265],{},"route",") — адреса в системі навігації, наприклад ",[3521,4268,4269],{},"\u002Fplaces"," або ",[3521,4272,4273],{},"\u002Fcreate-trip",". Це ",[3516,4276,4277],{},"логічне"," ім’я «куди можна перейти».",[3512,4280,4281,3636,4284,4286,4287,4290,4291,3601],{},[3516,4282,4283],{},"Екран",[3534,4285,3766],{},") — React-компонент, який ",[3516,4288,4289],{},"малюється",", коли цей маршрут активний. У file-based підході екран майже завжди = default export з файлу в ",[3521,4292,3576],{},[3512,4294,4295,4296,4298,4299,4302,4303,3601],{},"Користувач не бачить рядок ",[3521,4297,4269],{}," у браузерному сенсі (хоча на web-збірці Expo він може з’явитись у URL). Він бачить ",[3516,4300,4301],{},"вміст"," і, за наявності, ",[3516,4304,4305],{},"вкладки \u002F заголовок \u002F кнопку назад",[3725,4307],{},[3507,4309,4311,4313],{"id":4310},"_layouttsx-оболонка-сегмента",[3521,4312,3609],{}," — оболонка сегмента",[3512,4315,4316,4317,4321,4322,4325,4326,4328,4329,3636,4332,4335,4336,4339],{},"Файл ",[3516,4318,4319],{},[3521,4320,3609],{}," у теці ",[3521,4323,4324],{},"app"," (або вкладеній теці) ",[3516,4327,3916],{}," є окремим «екраном у меню». Це ",[3516,4330,4331],{},"layout",[3534,4333,4334],{},"розкладка \u002F оболонка","): компонент, який ",[3516,4337,4338],{},"обгортає"," всі маршрути цієї теки.",[3512,4341,4342],{},"Типові ролі кореневого layout:",[3586,4344,4345,4358,4367],{},[3549,4346,4347,4348,3636,4351,3640,4354,4357],{},"Підключити ",[3516,4349,4350],{},"провайдери",[3521,4352,4353],{},"ThemeProvider",[3521,4355,4356],{},"TripsProvider",", пізніше Redux).",[3549,4359,4360,4361,3636,4364,4366],{},"Задати ",[3516,4362,4363],{},"кореневий навігатор",[3521,4365,3620],{}," або інший).",[3549,4368,4369],{},"Налаштувати StatusBar, спільний фон.",[3512,4371,4372,4373,4376,4377,4379,4380,4383],{},"Дочірні екрани ",[3516,4374,4375],{},"вставляються"," всередину навігатора. Коли ви переходите з «Поїздки» на «Місця», providers ",[3516,4378,3916],{}," розмонтовуються — стейт теми й список trips ",[3516,4381,4382],{},"живе"," далі.",[3512,4385,4386],{},[4179,4387],{"alt":4388,"className":4389,"src":4390},"Layout як постійна оболонка навколо дочірніх маршрутів",[4183],"\u002Fimages\u002Freact-native\u002Fexpo-router-basics\u002F03.svg",[4392,4393,4394,4409,4417],"field-group",{},[4395,4396,4398,4399,4401,4402,4270,4405,4408],"field",{"name":3609,"type":4397},"файл-оболонка","Один layout на теку ",[3521,4400,4324],{}," або підтеку. Ім’я з підкресленням на початку — домовленість Expo Router: «це не route page, а layout». Усередині зазвичай ",[3521,4403,4404],{},"return \u003CStack \u002F>",[3521,4406,4407],{},"\u003CTabs \u002F>",", або вкладений layout.",[4395,4410,4413,4414,4416],{"name":4411,"type":4412},"Slot","компонент (рідше на старті)","«Дірка», куди Router вставляє дочірній маршрут, якщо ви ",[3516,4415,3916],{}," використовуєте Stack\u002FTabs, а будуєте власну оболонку. На старті курсу достатньо Stack і Tabs — вони самі керують «діркою».",[4395,4418,4421,4422,3601],{"name":4419,"type":4420},"screenOptions","об’єкт \u002F функція","Спільні налаштування всіх екранів навігатора: чи показувати header, кольори, анімація. Окремий екран можна перевизначити через ",[3521,4423,4424],{},"\u003CStack.Screen name=\"…\" options={…} \u002F>",[4105,4426,4428],{"id":4427},"приклад-ідеї-кореневого-layout-схема","Приклад ідеї кореневого layout (схема)",[3742,4430,4432],{"className":3744,"code":4431,"language":3746,"meta":3747,"style":3747},"export default function RootLayout() {\n  return (\n    \u003CThemeProvider>\n      \u003CTripsProvider>\n        \u003CStack>\n          \u003CStack.Screen name=\"(tabs)\" options={{ headerShown: false }} \u002F>\n          \u003CStack.Screen name=\"create-trip\" options={{ title: 'Нова поїздка' }} \u002F>\n        \u003C\u002FStack>\n      \u003C\u002FTripsProvider>\n    \u003C\u002FThemeProvider>\n  );\n}\n",[3521,4433,4434,4451,4459,4469,4479,4489,4530,4564,4574,4584,4594,4600],{"__ignoreMap":3747},[3751,4435,4436,4439,4442,4445,4448],{"class":3753,"line":3754},[3751,4437,4438],{"class":3805},"export",[3751,4440,4441],{"class":3805}," default",[3751,4443,4444],{"class":3757}," function",[3751,4446,4447],{"class":3777}," RootLayout",[3751,4449,4450],{"class":3761},"() {\n",[3751,4452,4453,4456],{"class":3753,"line":3802},[3751,4454,4455],{"class":3805},"  return",[3751,4457,4458],{"class":3761}," (\n",[3751,4460,4461,4464,4466],{"class":3753,"line":3870},[3751,4462,4463],{"class":3825},"    \u003C",[3751,4465,4353],{"class":3829},[3751,4467,4468],{"class":3825},">\n",[3751,4470,4472,4475,4477],{"class":3753,"line":4471},4,[3751,4473,4474],{"class":3825},"      \u003C",[3751,4476,4356],{"class":3829},[3751,4478,4468],{"class":3825},[3751,4480,4482,4485,4487],{"class":3753,"line":4481},5,[3751,4483,4484],{"class":3825},"        \u003C",[3751,4486,3620],{"class":3829},[3751,4488,4468],{"class":3825},[3751,4490,4492,4495,4498,4501,4503,4506,4509,4511,4513,4516,4519,4522,4525,4527],{"class":3753,"line":4491},6,[3751,4493,4494],{"class":3825},"          \u003C",[3751,4496,4497],{"class":3829},"Stack.Screen",[3751,4499,4500],{"class":3833}," name",[3751,4502,3837],{"class":3761},[3751,4504,4505],{"class":3784},"\"(tabs)\"",[3751,4507,4508],{"class":3833}," options",[3751,4510,3837],{"class":3761},[3751,4512,3840],{"class":3757},[3751,4514,4515],{"class":3843},"{ ",[3751,4517,4518],{"class":3811},"headerShown:",[3751,4520,4521],{"class":3757}," false",[3751,4523,4524],{"class":3843}," }",[3751,4526,3861],{"class":3757},[3751,4528,4529],{"class":3825}," \u002F>\n",[3751,4531,4533,4535,4537,4539,4541,4544,4546,4548,4550,4552,4555,4558,4560,4562],{"class":3753,"line":4532},7,[3751,4534,4494],{"class":3825},[3751,4536,4497],{"class":3829},[3751,4538,4500],{"class":3833},[3751,4540,3837],{"class":3761},[3751,4542,4543],{"class":3784},"\"create-trip\"",[3751,4545,4508],{"class":3833},[3751,4547,3837],{"class":3761},[3751,4549,3840],{"class":3757},[3751,4551,4515],{"class":3843},[3751,4553,4554],{"class":3811},"title:",[3751,4556,4557],{"class":3784}," 'Нова поїздка'",[3751,4559,4524],{"class":3843},[3751,4561,3861],{"class":3757},[3751,4563,4529],{"class":3825},[3751,4565,4567,4570,4572],{"class":3753,"line":4566},8,[3751,4568,4569],{"class":3825},"        \u003C\u002F",[3751,4571,3620],{"class":3829},[3751,4573,4468],{"class":3825},[3751,4575,4577,4580,4582],{"class":3753,"line":4576},9,[3751,4578,4579],{"class":3825},"      \u003C\u002F",[3751,4581,4356],{"class":3829},[3751,4583,4468],{"class":3825},[3751,4585,4587,4590,4592],{"class":3753,"line":4586},10,[3751,4588,4589],{"class":3825},"    \u003C\u002F",[3751,4591,4353],{"class":3829},[3751,4593,4468],{"class":3825},[3751,4595,4597],{"class":3753,"line":4596},11,[3751,4598,4599],{"class":3761},"  );\n",[3751,4601,4603],{"class":3753,"line":4602},12,[3751,4604,4605],{"class":3761},"}\n",[3512,4607,4608,4609,4612,4613,4616,4617,3630,4620,3601],{},"Провайдери ",[3516,4610,4611],{},"зовні"," Stack — щоб і вкладки, і ",[3521,4614,4615],{},"create-trip"," бачили той самий ",[3521,4618,4619],{},"useTrips()",[3521,4621,4622],{},"useTheme()",[3725,4624],{},[3507,4626,4628,4630],{"id":4627},"index-і-імена-файлів",[3521,4629,3660],{}," і імена файлів",[3954,4632,4633,4643],{},[3957,4634,4635],{},[3960,4636,4637,4640],{},[3963,4638,4639],{},"Файл",[3963,4641,4642],{},"Типовий шлях",[3973,4644,4645,4658,4669,4680],{},[3960,4646,4647,4652],{},[3978,4648,4649],{},[3521,4650,4651],{},"app\u002Findex.tsx",[3978,4653,4654,4657],{},[3521,4655,4656],{},"\u002F"," (стартовий)",[3960,4659,4660,4665],{},[3978,4661,4662],{},[3521,4663,4664],{},"app\u002Fplaces.tsx",[3978,4666,4667],{},[3521,4668,4269],{},[3960,4670,4671,4676],{},[3978,4672,4673],{},[3521,4674,4675],{},"app\u002Fcreate-trip.tsx",[3978,4677,4678],{},[3521,4679,4273],{},[3960,4681,4682,4687],{},[3978,4683,4684],{},[3521,4685,4686],{},"app\u002F(tabs)\u002Findex.tsx",[3978,4688,4689,4691,4692,4694],{},[3521,4690,4656],{}," якщо ",[3521,4693,3657],{}," — частина кореня без сегмента в URL",[3512,4696,4697,4701,4702,4704,4705,4708,4709,3601],{},[3516,4698,4699],{},[3521,4700,3660],{}," означає «маршрут самої теки». У групі ",[3521,4703,3657],{}," файл ",[3521,4706,4707],{},"index.tsx"," — домашня вкладка з шляхом ",[3521,4710,4656],{},[3512,4712,4713,4714,3636,4717,4719],{},"Імена файлів краще ",[3516,4715,4716],{},"kebab-case",[3521,4718,3523],{},") — вони стають сегментами URL. Уникайте пробілів і кирилиці в іменах файлів маршрутів.",[3725,4721],{},[3507,4723,4725],{"id":4724},"stack-стопка-екранів","Stack — стопка екранів",[3512,4727,4728,3636,4730,4733,4734,4737,4738,3636,4741,4743,4744,4747,4748,4750],{},[3516,4729,3620],{},[3534,4731,4732],{},"стек, стопка",") — навігатор, де екрани лягають ",[3516,4735,4736],{},"один на одного",". Новий екран ",[3516,4739,4740],{},"штовхають",[3521,4742,3639],{},") на вершину; «назад» ",[3516,4745,4746],{},"знімає"," вершину (",[3521,4749,3643],{}," \u002F pop).",[3512,4752,4753],{},"Аналогія: стопка аркушів. Верхній видно повністю; під ним лежать попередні. Коли прибираєте верхній — знову бачите той, що був під ним.",[3512,4755,4756],{},"Типові сценарії Stack:",[3546,4758,4759,4762,4765],{},[3549,4760,4761],{},"список → деталі;",[3549,4763,4764],{},"головна → форма створення;",[3549,4766,4767],{},"налаштування → підекран «про застосунок».",[3512,4769,4770,4771,4774],{},"У React Navigation \u002F Expo Router Stack за замовчуванням показує ",[3516,4772,4773],{},"header"," (смуга зверху з заголовком і кнопкою назад) — на iOS і Android з різним виглядом, але зі спільною ідеєю.",[3512,4776,4777],{},[4179,4778],{"alt":4779,"className":4780,"src":4781},"Stack і Tabs: стопка проти нижніх вкладок",[4183],"\u002Fimages\u002Freact-native\u002Fexpo-router-basics\u002F02.svg",[4392,4783,4784,4795,4824,4838,4850],{},[4395,4785,4787,4788,4791,4792,3647],{"name":3620,"type":4786},"компонент expo-router","Навігатор-стопка. ",[3521,4789,4790],{},"import { Stack } from 'expo-router'",". Дочірні файли теки автоматично стають екранами цього стека (якщо layout повертає ",[3521,4793,4794],{},"\u003CStack \u002F>",[4395,4796,4798,4799,4802,4803,4806,4807,3640,4810,3640,4813,3640,4816,4819,4820,4823],{"name":4497,"type":4797},"конфіг екрана","Дозволяє задати ",[3521,4800,4801],{},"name"," (ім’я файлу\u002Fсегмента без розширення) і ",[3521,4804,4805],{},"options",": ",[3521,4808,4809],{},"title",[3521,4811,4812],{},"headerShown",[3521,4814,4815],{},"presentation",[3521,4817,4818],{},"headerBackTitle"," тощо. Не замінює файл екрана — лише ",[3516,4821,4822],{},"налаштовує"," його в навігаторі.",[4395,4825,4827,4828,4831,4832,4834,4835,4837],{"name":4815,"type":4826},"string (опції платформи)","Як показувати екран: звичайна картка (",[3521,4829,4830],{},"card","), модальне вікно (глибше в статті 12) тощо. Для ",[3521,4833,4615],{}," у Nomad достатньо звичайного ",[3521,4836,4830],{}," поверх tabs.",[4395,4839,4841,4842,4845,4846,4849],{"name":4812,"type":4840},"boolean","Чи показувати системну смугу заголовка. Для вкладок часто ",[3521,4843,4844],{},"false"," (свій UI в контенті); для форми — ",[3521,4847,4848],{},"true",", щоб отримати стандартну «Назад».",[4395,4851,4853],{"name":4818,"type":4852},"string (iOS)","Текст поруч зі стрілкою «назад» на iOS (наприклад «Назад»). На Android частіше лише іконка\u002Fсистемна поведінка.",[4105,4855,4857],{"id":4856},"системна-кнопка-назад","Системна кнопка «назад»",[3546,4859,4860,4866],{},[3549,4861,4862,4865],{},[3516,4863,4864],{},"iOS:"," свайп від лівого краю + кнопка в header.",[3549,4867,4868,4871,4872,4875],{},[3516,4869,4870],{},"Android:"," системна кнопка\u002Fжест «Back» зазвичай ",[3516,4873,4874],{},"поп","ає стек, якщо навігатор налаштований правильно.",[3512,4877,4878,4881,4882,4884],{},[3521,4879,4880],{},"router.back()"," у коді робить те саме програмно: повернутись на попередній екран у історії. Якщо історії немає (відкрили deep link одразу на форму) — поведінка залежить від конфігурації; для базового сценарію «відкрили з tabs» ",[3521,4883,3643],{}," повертає на вкладки.",[3725,4886],{},[3507,4888,4890],{"id":4889},"tabs-нижні-вкладки","Tabs — нижні вкладки",[3512,4892,4893,3636,4895,4898,4899,4902,4903,4906,4907,4909,4910,4913],{},[3516,4894,3616],{},[3534,4896,4897],{},"вкладки",") — навігатор, де кілька ",[3516,4900,4901],{},"рівноправних"," розділів доступні з ",[3516,4904,4905],{},"панелі"," (зазвичай знизу на iOS\u002FAndroid). Перемикання ",[3516,4908,3916],{}," будує глибоку стопку «вкладка1 → вкладка2 → вкладка3» у тому ж сенсі, що Stack: це ",[3516,4911,4912],{},"паралельні"," корені розділів.",[3512,4915,4916],{},"Користувач очікує:",[3546,4918,4919,4922,4925],{},[3549,4920,4921],{},"іконку + короткий підпис;",[3549,4923,4924],{},"активний стан іншим кольором;",[3549,4926,4927,4928,4931],{},"збереження позиції скролу \u002F стану при поверненні на вкладку (часто так і є, якщо екран не розмонтували — деталі залежать від налаштувань ",[3521,4929,4930],{},"lazy"," \u002F unmount).",[4392,4933,4934,4943,4970,4981,4986],{},[4395,4935,4936,4939,4940,3601],{"name":3616,"type":4786},[3521,4937,4938],{},"import { Tabs } from 'expo-router'",". Layout у теці з вкладками зазвичай ",[3521,4941,4942],{},"return \u003CTabs>…\u003C\u002FTabs>",[4395,4944,4947,4949,4950,3640,4952,3640,4955,4958,4959,4962,4963,4966,4967,3601],{"name":4945,"type":4946},"Tabs.Screen","конфіг вкладки",[3521,4948,4801],{}," = ім’я файлу (",[3521,4951,3660],{},[3521,4953,4954],{},"places",[3521,4956,4957],{},"about","). ",[3521,4960,4961],{},"options.title"," — підпис на панелі. ",[3521,4964,4965],{},"tabBarIcon"," — функція ",[3521,4968,4969],{},"({ color, size }) => \u003CIcon … \u002F>",[4395,4971,4974,4975,4017,4978,3647],{"name":4972,"type":4973},"tabBarActiveTintColor \u002F tabBarInactiveTintColor","color","Колір активної \u002F неактивної іконки й підпису. Узгоджуйте з темою (",[3521,4976,4977],{},"colors.primary",[3521,4979,4980],{},"textSecondary",[4395,4982,4985],{"name":4983,"type":4984},"tabBarStyle","ViewStyle","Стиль самої панелі: фон, верхня межа. У dark theme без цього панель може лишитись «світлою» посеред темного контенту.",[4395,4987,4990,4991,4994,4995,4998],{"name":4988,"type":4989},"headerShown: false","у screenOptions Tabs","Часто ховають header Tabs, бо кожна вкладка малює ",[3516,4992,4993],{},"свій"," заголовок у контенті (",[3521,4996,4997],{},"AppText variant=\"title\"","), як у Nomad.",[4105,5000,5002],{"id":5001},"іконки","Іконки",[3512,5004,5005,5006,5011,5012,5015],{},"У прикладі Nomad — ",[3516,5007,5008],{},[3521,5009,5010],{},"@expo\u002Fvector-icons"," (Ionicons). Пакет ставлять через ",[3521,5013,5014],{},"npx expo install @expo\u002Fvector-icons"," (версія під SDK). Можна обійтись без іконок (лише текст), але продуктовий вигляд зазвичай з іконками.",[3725,5017],{},[3507,5019,5021,5022,5025],{"id":5020},"групи-name-дужки-в-імені-теки","Групи ",[3521,5023,5024],{},"(name)"," — дужки в імені теки",[3512,5027,4190,5028,4206,5032,3636,5035,5038,5039,5042,5043,5046],{},[3516,5029,5030],{},[3521,5031,3657],{},[3516,5033,5034],{},"група",[3534,5036,5037],{},"group","). Круглі дужки в імені означають: ця тека ",[3516,5040,5041],{},"організовує файли",", але ",[3516,5044,5045],{},"не додає"," сегмент у шлях URL.",[3954,5048,5049,5059],{},[3957,5050,5051],{},[3960,5052,5053,5056],{},[3963,5054,5055],{},"На диску",[3963,5057,5058],{},"Шлях",[3973,5060,5061,5071,5082],{},[3960,5062,5063,5067],{},[3978,5064,5065],{},[3521,5066,4686],{},[3978,5068,5069],{},[3521,5070,4656],{},[3960,5072,5073,5078],{},[3978,5074,5075],{},[3521,5076,5077],{},"app\u002F(tabs)\u002Fplaces.tsx",[3978,5079,5080],{},[3521,5081,4269],{},[3960,5083,5084,5089],{},[3978,5085,5086],{},[3521,5087,5088],{},"app\u002F(tabs)\u002Fabout.tsx",[3978,5090,5091],{},[3521,5092,3983],{},[3512,5094,5095,5096,5099,5100,5103],{},"Без дужок ",[3521,5097,5098],{},"app\u002Ftabs\u002Fplaces.tsx"," був би ",[3521,5101,5102],{},"\u002Ftabs\u002Fplaces"," — зайвий сегмент у шляху.",[3512,5105,5106],{},"Навіщо група:",[3546,5108,5109,5115,5122],{},[3549,5110,5111,5112,5114],{},"зібрати вкладки в один layout ",[3521,5113,3616],{},";",[3549,5116,5117,5118,5121],{},"відокремити «зона авторизації» ",[3521,5119,5120],{},"(auth)"," (стаття 12);",[3549,5123,5124,5125,5127],{},"тримати корінь Stack чистим: ",[3521,5126,3657],{}," + модалки + create-trip.",[3725,5129],{},[3507,5131,5133,3630,5135],{"id":5132},"link-і-userouter",[3521,5134,3629],{},[3521,5136,3635],{},[3512,5138,5139],{},[4179,5140],{"alt":5141,"className":5142,"src":5143},"Link декларативно · router імперативно",[4183],"\u002Fimages\u002Freact-native\u002Fexpo-router-basics\u002F04.svg",[4105,5145,5147,5149],{"id":5146},"link-декларативний-перехід",[3521,5148,3629],{}," — декларативний перехід",[3512,5151,5152,5153,4026,5157,5159,5160,5163],{},"Компонент ",[3516,5154,5155],{},[3521,5156,3629],{},[3521,5158,4029],{}," схожий на якір у вебі: у JSX видно, ",[3516,5161,5162],{},"куди"," веде елемент.",[3742,5165,5167],{"className":3744,"code":5166,"language":3746,"meta":3747,"style":3747},"import { Link } from 'expo-router';\nimport { Text } from 'react-native';\n\n\u003CLink href=\"\u002Fcreate-trip\">\n  \u003CText>Нова поїздка\u003C\u002FText>\n\u003C\u002FLink>\n",[3521,5168,5169,5190,5208,5214,5230,5250],{"__ignoreMap":3747},[3751,5170,5171,5174,5177,5179,5182,5185,5188],{"class":3753,"line":3754},[3751,5172,5173],{"class":3805},"import",[3751,5175,5176],{"class":3761}," { ",[3751,5178,3629],{"class":3811},[3751,5180,5181],{"class":3761}," } ",[3751,5183,5184],{"class":3805},"from",[3751,5186,5187],{"class":3784}," 'expo-router'",[3751,5189,3867],{"class":3761},[3751,5191,5192,5194,5196,5199,5201,5203,5206],{"class":3753,"line":3802},[3751,5193,5173],{"class":3805},[3751,5195,5176],{"class":3761},[3751,5197,5198],{"class":3811},"Text",[3751,5200,5181],{"class":3761},[3751,5202,5184],{"class":3805},[3751,5204,5205],{"class":3784}," 'react-native'",[3751,5207,3867],{"class":3761},[3751,5209,5210],{"class":3753,"line":3870},[3751,5211,5213],{"emptyLinePlaceholder":5212},true,"\n",[3751,5215,5216,5218,5220,5223,5225,5228],{"class":3753,"line":4471},[3751,5217,3781],{"class":3825},[3751,5219,3629],{"class":3829},[3751,5221,5222],{"class":3833}," href",[3751,5224,3837],{"class":3761},[3751,5226,5227],{"class":3784},"\"\u002Fcreate-trip\"",[3751,5229,4468],{"class":3825},[3751,5231,5232,5235,5237,5240,5243,5246,5248],{"class":3753,"line":4481},[3751,5233,5234],{"class":3825},"  \u003C",[3751,5236,5198],{"class":3829},[3751,5238,5239],{"class":3825},">",[3751,5241,5242],{"class":3761},"Нова поїздка",[3751,5244,5245],{"class":3825},"\u003C\u002F",[3751,5247,5198],{"class":3829},[3751,5249,4468],{"class":3825},[3751,5251,5252,5254,5256],{"class":3753,"line":4491},[3751,5253,5245],{"class":3825},[3751,5255,3629],{"class":3829},[3751,5257,4468],{"class":3825},[3512,5259,5260,5261,5263,5264,5269],{},"Часто потрібен ",[3516,5262,4993],{}," вигляд кнопки. Prop ",[3516,5265,5266],{},[3521,5267,5268],{},"asChild"," каже: «не малюй свій wrapper, використай дитину як pressable»:",[3742,5271,5273],{"className":3744,"code":5272,"language":3746,"meta":3747,"style":3747},"\u003CLink href=\"\u002Fcreate-trip\" asChild>\n  \u003CPressable style={styles.btn}>\n    \u003CText>Нова поїздка\u003C\u002FText>\n  \u003C\u002FPressable>\n\u003C\u002FLink>\n",[3521,5274,5275,5292,5318,5334,5343],{"__ignoreMap":3747},[3751,5276,5277,5279,5281,5283,5285,5287,5290],{"class":3753,"line":3754},[3751,5278,3781],{"class":3825},[3751,5280,3629],{"class":3829},[3751,5282,5222],{"class":3833},[3751,5284,3837],{"class":3761},[3751,5286,5227],{"class":3784},[3751,5288,5289],{"class":3833}," asChild",[3751,5291,4468],{"class":3825},[3751,5293,5294,5296,5299,5302,5304,5306,5309,5311,5314,5316],{"class":3753,"line":3802},[3751,5295,5234],{"class":3825},[3751,5297,5298],{"class":3829},"Pressable",[3751,5300,5301],{"class":3833}," style",[3751,5303,3837],{"class":3761},[3751,5305,3840],{"class":3757},[3751,5307,5308],{"class":3811},"styles",[3751,5310,3601],{"class":3843},[3751,5312,5313],{"class":3811},"btn",[3751,5315,3861],{"class":3757},[3751,5317,4468],{"class":3825},[3751,5319,5320,5322,5324,5326,5328,5330,5332],{"class":3753,"line":3870},[3751,5321,4463],{"class":3825},[3751,5323,5198],{"class":3829},[3751,5325,5239],{"class":3825},[3751,5327,5242],{"class":3761},[3751,5329,5245],{"class":3825},[3751,5331,5198],{"class":3829},[3751,5333,4468],{"class":3825},[3751,5335,5336,5339,5341],{"class":3753,"line":4471},[3751,5337,5338],{"class":3825},"  \u003C\u002F",[3751,5340,5298],{"class":3829},[3751,5342,4468],{"class":3825},[3751,5344,5345,5347,5349],{"class":3753,"line":4481},[3751,5346,5245],{"class":3825},[3751,5348,3629],{"class":3829},[3751,5350,4468],{"class":3825},[3512,5352,5353,5354,5356,5357,5356,5359,3601],{},"У Nomad на вкладці «Ще» є приклад ",[3521,5355,3629],{}," + ",[3521,5358,5268],{},[3521,5360,5298],{},[4105,5362,5364,5366],{"id":5363},"userouter-імперативний-перехід",[3521,5365,3635],{}," — імперативний перехід",[3512,5368,5369,5370,5374,5375,5378,5379,5382],{},"Хук ",[3516,5371,5372],{},[3521,5373,4046],{}," повертає об’єкт з методами навігації. Зручно ",[3516,5376,5377],{},"всередині колбеків",": після успішного submit, після логіну, у ",[3521,5380,5381],{},"onPress"," кнопки, коли шлях обчислюється динамічно.",[4392,5384,5385,5400,5409,5415],{},[4395,5386,5389,5390,5393,5394,5396,5397,5399],{"name":5387,"type":5388},"router.push(href)","метод","Відкрити маршрут, ",[3516,5391,5392],{},"додавши"," його в історію Stack. З tabs на ",[3521,5395,4273],{}," — типовий ",[3521,5398,3639],{},": з’явиться «назад».",[4395,5401,5389,5403,5406,5407,3601],{"name":5402,"type":5388},"router.replace(href)",[3516,5404,5405],{},"замінивши"," поточний запис історії. Корисно після логіну («не повертатись на екран пароля кнопкою назад»). На старті курсу рідше, ніж ",[3521,5408,3639],{},[4395,5410,5411,5412,5414],{"name":4880,"type":5388},"Повернутись на попередній екран у історії. Після створення поїздки в Nomad — ",[3521,5413,4880],{},", щоб знову побачити tabs і оновлений список.",[4395,5416,5419,5420,5422],{"name":5417,"type":5418},"router.canGoBack()","метод → boolean","Чи є куди повертатись. Корисно, щоб не викликати ",[3521,5421,3643],{}," «в порожнечу» (рідкісні cold-start сценарії).",[3742,5424,5426],{"className":3744,"code":5425,"language":3746,"meta":3747,"style":3747},"import { useRouter } from 'expo-router';\n\nconst router = useRouter();\n\n\u002F\u002F кнопка\nrouter.push('\u002Fcreate-trip');\n\n\u002F\u002F після збереження форми\nrouter.back();\n",[3521,5427,5428,5444,5448,5463,5467,5473,5489,5493,5498],{"__ignoreMap":3747},[3751,5429,5430,5432,5434,5436,5438,5440,5442],{"class":3753,"line":3754},[3751,5431,5173],{"class":3805},[3751,5433,5176],{"class":3761},[3751,5435,3635],{"class":3811},[3751,5437,5181],{"class":3761},[3751,5439,5184],{"class":3805},[3751,5441,5187],{"class":3784},[3751,5443,3867],{"class":3761},[3751,5445,5446],{"class":3753,"line":3802},[3751,5447,5213],{"emptyLinePlaceholder":5212},[3751,5449,5450,5452,5455,5458,5460],{"class":3753,"line":3870},[3751,5451,3758],{"class":3757},[3751,5453,5454],{"class":3765}," router",[3751,5456,5457],{"class":3761}," = ",[3751,5459,3635],{"class":3777},[3751,5461,5462],{"class":3761},"();\n",[3751,5464,5465],{"class":3753,"line":4471},[3751,5466,5213],{"emptyLinePlaceholder":5212},[3751,5468,5469],{"class":3753,"line":4481},[3751,5470,5472],{"class":5471},"spJ8K","\u002F\u002F кнопка\n",[3751,5474,5475,5478,5480,5482,5484,5487],{"class":3753,"line":4491},[3751,5476,5477],{"class":3811},"router",[3751,5479,3601],{"class":3761},[3751,5481,3639],{"class":3777},[3751,5483,3853],{"class":3761},[3751,5485,5486],{"class":3784},"'\u002Fcreate-trip'",[3751,5488,3799],{"class":3761},[3751,5490,5491],{"class":3753,"line":4532},[3751,5492,5213],{"emptyLinePlaceholder":5212},[3751,5494,5495],{"class":3753,"line":4566},[3751,5496,5497],{"class":5471},"\u002F\u002F після збереження форми\n",[3751,5499,5500,5502,5504,5506],{"class":3753,"line":4576},[3751,5501,5477],{"class":3811},[3751,5503,3601],{"class":3761},[3751,5505,3643],{"class":3777},[3751,5507,5462],{"class":3761},[4105,5509,5511],{"id":5510},"коли-що-обирати","Коли що обирати",[3954,5513,5514,5524],{},[3957,5515,5516],{},[3960,5517,5518,5521],{},[3963,5519,5520],{},"Ситуація",[3963,5522,5523],{},"Засіб",[3973,5525,5526,5536,5547],{},[3960,5527,5528,5531],{},[3978,5529,5530],{},"Пункт меню, картка «відкрити»",[3978,5532,5533,5535],{},[3521,5534,3629],{}," (видно в розмітці)",[3960,5537,5538,5541],{},[3978,5539,5540],{},"Після submit \u002F умови в коді",[3978,5542,5543,4017,5545],{},[3521,5544,3527],{},[3521,5546,3643],{},[3960,5548,5549,5552],{},[3978,5550,5551],{},"Потрібен повний контроль над Pressable",[3978,5553,5554,5356,5556,5558,5559,5561,5562],{},[3521,5555,3629],{},[3521,5557,5268],{}," або лише ",[3521,5560,5477],{}," у ",[3521,5563,5381],{},[3725,5565],{},[3507,5567,5569,5572],{"id":5568},"href-і-шляхи",[3521,5570,5571],{},"href"," і шляхи",[3512,5574,5575,5579,5580,5583],{},[3516,5576,5577],{},[3521,5578,5571],{}," — рядок (або об’єкт) адреси маршруту. На старті курсу — ",[3516,5581,5582],{},"статичні"," шляхи:",[3546,5585,5586,5592,5597,5602],{},[3549,5587,5588,5591],{},[3521,5589,5590],{},"\"\u002F\""," — домашня вкладка;",[3549,5593,5594,5114],{},[3521,5595,5596],{},"\"\u002Fplaces\"",[3549,5598,5599,5114],{},[3521,5600,5601],{},"\"\u002Fabout\"",[3549,5603,5604,3601],{},[3521,5605,5227],{},[3512,5607,5608,5609,5612,5613,5616],{},"Динамічні сегменти (",[3521,5610,5611],{},"[id]",") і params — ",[3516,5614,5615],{},"стаття 13",". Тут свідомо не ускладнюємо: спочатку стабільна карта статичних екранів.",[4089,5618,5619,5620,5623,5624,5626,5627,5630],{},"Шлях має ",[3516,5621,5622],{},"існувати"," як файл у ",[3521,5625,3576],{},". Друкарська помилка ",[3521,5628,5629],{},"\"\u002Fcrate-trip\""," не знайде екран. Typed routes (нижче) допомагають TypeScript спіймати частину таких помилок.",[3725,5632],{},[3507,5634,5636],{"id":5635},"typed-routes-коротко","Typed routes (коротко)",[3512,5638,5639,5642,5643,5646,5647,5649,5650,3601],{},[3516,5640,5641],{},"Typed routes"," — експеримент \u002F опція Expo Router, коли TypeScript ",[3516,5644,5645],{},"знає"," допустимі ",[3521,5648,5571],{}," з вашої теки ",[3521,5651,3576],{},[3512,5653,5654,5655,5658],{},"У ",[3521,5656,5657],{},"app.json",":",[3742,5660,5664],{"className":5661,"code":5662,"language":5663,"meta":3747,"style":3747},"language-json shiki shiki-themes light-plus dark-plus dark-plus","\"experiments\": {\n  \"typedRoutes\": true\n}\n","json",[3521,5665,5666,5674,5685],{"__ignoreMap":3747},[3751,5667,5668,5671],{"class":3753,"line":3754},[3751,5669,5670],{"class":3784},"\"experiments\"",[3751,5672,5673],{"class":3761},": {\n",[3751,5675,5676,5680,5682],{"class":3753,"line":3802},[3751,5677,5679],{"class":5678},"sLwNe","  \"typedRoutes\"",[3751,5681,4806],{"class":3761},[3751,5683,5684],{"class":3757},"true\n",[3751,5686,5687],{"class":3753,"line":3870},[3751,5688,4605],{"class":3761},[3512,5690,5691,5692,3630,5694,5696,5697,4274,5700,5702],{},"Після цього ",[3521,5693,3629],{},[3521,5695,3527],{}," суворіше перевіряють рядки шляхів. Іноді потрібен перезапуск TS-сервера \u002F ",[3521,5698,5699],{},"npx expo start",[3516,5701,3916],{}," замінює тести навігації, але зменшує опечатки.",[3512,5704,5705],{},"У Nomad опцію вмикаємо в цій статті на рівні «підтримка з боку проєкту».",[3725,5707],{},[3507,5709,5711],{"id":5710},"header-safe-area-і-вкладки","Header, safe area і вкладки",[3512,5713,5714,5715,5718,5719,5722,5723,5725,5726,5729,5730,5733],{},"Коли ",[3521,5716,5717],{},"headerShown: true"," на Stack-екрані, ",[3516,5720,5721],{},"системний header"," займає місце зверху. Ваш ",[3521,5724,4229],{}," із ",[3521,5727,5728],{},"SafeAreaView"," може додати ",[3516,5731,5732],{},"зайвий"," відступ, якщо header уже врахував safe area — візуально «подвійний» зазор.",[3512,5735,5654,5736,5738],{},[3521,5737,4615],{}," Nomad після цієї статті:",[3546,5740,5741,5746],{},[3549,5742,5743,5744,5114],{},"заголовок і «назад» — від ",[3516,5745,3620],{},[3549,5747,5748,5749,5752],{},"контент — ",[3521,5750,5751],{},"CreateTripForm"," без власного рядка «← Назад» (прибрали дубль).",[3512,5754,5755,5756,3601],{},"На вкладках header сховано — safe area лишається на ",[3521,5757,4229],{},[3725,5759],{},[3507,5761,5763],{"id":5762},"антипатерни","Антипатерни",[4105,5765,5767,5768,5771],{"id":5766},"_1-усе-через-usestatescreen-у-великому-app","1. Усе через ",[3521,5769,5770],{},"useState('screen')"," у великому App",[3512,5773,5774],{},"Швидкий прототип — так; продукт із вкладками, жестом назад і deep link — ні. Ви винаходите те, що Router уже розв’язав.",[4105,5776,5778,5779],{"id":5777},"_2-бізнес-логіка-лише-в-app","2. Бізнес-логіка лише в ",[3521,5780,3576],{},[3512,5782,5783,5784,3601],{},"Маршрути товстіють, features не перевикористовуються. Тримайте тонкі екрани + ",[3521,5785,5786],{},"src\u002Ffeatures",[4105,5788,5790,5791,5793],{"id":5789},"_3-плутати-групу-tabs-з-сегментом-url","3. Плутати групу ",[3521,5792,3657],{}," з сегментом URL",[3512,5795,5796,5797,5799,5800,3601],{},"Очікувати URL ",[3521,5798,5102],{}," і дивуватись, що працює ",[3521,5801,4269],{},[4105,5803,5805,5806,5808,5809,5811],{"id":5804},"_4-push-замість-back-після-форми","4. ",[3521,5807,3639],{}," замість ",[3521,5810,3643],{}," після форми",[3512,5813,5814,5817,5818,5821,5822,5825,5826,4270,5829,3601],{},[3521,5815,5816],{},"push('\u002F')"," після створення поїздки може ",[3516,5819,5820],{},"накласти"," ще один home у стек; «назад» тоді поверне на ",[3516,5823,5824],{},"порожню"," форму. Після модального\u002Fформенного сценарію частіше ",[3521,5827,5828],{},"back()",[3521,5830,3646],{},[4105,5832,5834],{"id":5833},"_5-забути-theme-на-tab-bar","5. Забути theme на tab bar",[3512,5836,5837,5838,5840],{},"Контент темний, панель вкладок біла «з коробки» — треба ",[3521,5839,4983],{}," і tint з теми.",[4105,5842,5844,5845,5848],{"id":5843},"_6-ховати-create-trip-всередині-tabs-без-потреби","6. Ховати create-trip ",[3516,5846,5847],{},"всередині"," tabs без потреби",[3512,5850,5851,5852,5854],{},"Форма як п’ята вкладка — дивний UX. Краще Stack-екран ",[3516,5853,3935],{}," tabs (як у Nomad).",[3725,5856],{},[3507,5858,5860],{"id":5859},"міні-проєкт-довідник-міст","Міні-проєкт: «Довідник міст»",[4105,5862,5864],{"id":5863},"мета","Мета",[3512,5866,5867,5868,5871,5872,5875,5876,5879],{},"Окремий застосунок ",[3516,5869,5870],{},"поза"," Nomad. Шлях ",[3516,5873,5874],{},"від А до Я",": команди, структура тек, ",[3516,5877,5878],{},"повний код кожного файлу",". Можна відтворити без домислів.",[3512,5881,5882],{},"Сюжет:",[3586,5884,5885,5894,5901],{},[3549,5886,5887,5888,3788,5891,3601],{},"Tabs: ",[3516,5889,5890],{},"Список",[3516,5892,5893],{},"Про нас",[3549,5895,5896,5897,5900],{},"Список міст → тап → Stack-екран ",[3516,5898,5899],{},"деталей"," із системною «назад».",[3549,5902,5903,5904,5906],{},"«Про нас» — текст + ",[3521,5905,3629],{}," на список.",[4105,5908,5910],{"id":5909},"кінцева-структура","Кінцева структура",[3742,5912,5915],{"className":5913,"code":5914,"language":4249,"meta":3747},[4247],"city-guide\u002F\n  package.json\n  app.json\n  app\u002F\n    _layout.tsx\n    (tabs)\u002F\n      _layout.tsx\n      index.tsx\n      about.tsx\n    city\u002F\n      [id].tsx\n  src\u002F\n    data\u002F\n      cities.ts\n",[3521,5916,5914],{"__ignoreMap":3747},[4105,5918,5920],{"id":5919},"крок-1-створити-проєкт","Крок 1. Створити проєкт",[5922,5923,5924,5928,5960,5970,5974,5992,5996],"steps",{},[4105,5925,5927],{"id":5926},"_1-шаблон-з-tabs-і-router","1. Шаблон з tabs і Router",[3742,5929,5933],{"className":5930,"code":5931,"language":5932,"meta":3747,"style":3747},"language-bash shiki shiki-themes light-plus dark-plus dark-plus","npx create-expo-app@latest city-guide -t tabs\ncd city-guide\n","bash",[3521,5934,5935,5952],{"__ignoreMap":3747},[3751,5936,5937,5940,5943,5946,5949],{"class":3753,"line":3754},[3751,5938,5939],{"class":3777},"npx",[3751,5941,5942],{"class":3784}," create-expo-app@latest",[3751,5944,5945],{"class":3784}," city-guide",[3751,5947,5948],{"class":3757}," -t",[3751,5950,5951],{"class":3784}," tabs\n",[3751,5953,5954,5957],{"class":3753,"line":3802},[3751,5955,5956],{"class":3777},"cd",[3751,5958,5959],{"class":3784}," city-guide\n",[3512,5961,5654,5962,5965,5966,5969],{},[3521,5963,5964],{},"package.json"," має бути ",[3521,5967,5968],{},"\"main\": \"expo-router\u002Fentry\""," (у шаблоні вже так).",[4105,5971,5973],{"id":5972},"_2-іконки-якщо-typescript-не-знаходить-пакет","2. Іконки (якщо TypeScript не знаходить пакет)",[3742,5975,5977],{"className":5930,"code":5976,"language":5932,"meta":3747,"style":3747},"npx expo install @expo\u002Fvector-icons\n",[3521,5978,5979],{"__ignoreMap":3747},[3751,5980,5981,5983,5986,5989],{"class":3753,"line":3754},[3751,5982,5939],{"class":3777},[3751,5984,5985],{"class":3784}," expo",[3751,5987,5988],{"class":3784}," install",[3751,5990,5991],{"class":3784}," @expo\u002Fvector-icons\n",[4105,5993,5995],{"id":5994},"_3-після-підстановки-всіх-файлів","3. Після підстановки всіх файлів",[3742,5997,5999],{"className":5930,"code":5998,"language":5932,"meta":3747,"style":3747},"npx expo start\n",[3521,6000,6001],{"__ignoreMap":3747},[3751,6002,6003,6005,6007],{"class":3753,"line":3754},[3751,6004,5939],{"class":3777},[3751,6006,5985],{"class":3784},[3751,6008,6009],{"class":3784}," start\n",[4105,6011,6013,6014],{"id":6012},"крок-2-дані-srcdatacitiests","Крок 2. Дані — ",[3521,6015,6016],{},"src\u002Fdata\u002Fcities.ts",[3512,6018,6019,6020,6023],{},"Створіть теки ",[3521,6021,6022],{},"src\u002Fdata\u002F"," і файл цілком:",[6025,6026,6028],"collapsible",{"title":6027},"Повний src\u002Fdata\u002Fcities.ts — розгорнути",[3742,6029,6033],{"className":6030,"code":6031,"language":6032,"meta":3747,"style":3747},"language-ts shiki shiki-themes light-plus dark-plus dark-plus","export type City = {\n  id: string;\n  name: string;\n  region: string;\n  population: string;\n  description: string;\n};\n\nexport const cities: City[] = [\n  {\n    id: 'kyiv',\n    name: 'Київ',\n    region: 'м. Київ',\n    population: '≈ 2,9 млн',\n    description:\n      'Столиця України. Поділ, Хрещатик, правий і лівий береги Дніпра. Зручна відправна точка для подорожей центром країни.',\n  },\n  {\n    id: 'lviv',\n    name: 'Львів',\n    region: 'Львівська область',\n    population: '≈ 720 тис.',\n    description:\n      'Місто на заході з площею Ринок, кавою й щільною історичною забудовою. Добре для вікенду пішки.',\n  },\n  {\n    id: 'odesa',\n    name: 'Одеса',\n    region: 'Одеська область',\n    population: '≈ 1 млн',\n    description:\n      'Порт на Чорному морі. Дерибасівська, набережна, особливий гумор і кухня. Літній ритм міста інший, ніж узимку.',\n  },\n  {\n    id: 'kharkiv',\n    name: 'Харків',\n    region: 'Харківська область',\n    population: '≈ 1,4 млн',\n    description:\n      'Велике місто на сході. Університети, парки, широкі проспекти. Важливий культурний і промисловий осередок.',\n  },\n  {\n    id: 'dnipro',\n    name: 'Дніпро',\n    region: 'Дніпропетровська область',\n    population: '≈ 970 тис.',\n    description:\n      'Місто на річці Дніпро з довгою набережною й мостами. Зручний вузол між сходом і центром.',\n  },\n];\n\nexport function getCityById(id: string): City | undefined {\n  return cities.find((c) => c.id === id);\n}\n","ts",[3521,6034,6035,6048,6060,6071,6082,6093,6104,6109,6113,6131,6136,6147,6157,6168,6179,6185,6193,6199,6204,6214,6224,6234,6244,6249,6257,6262,6267,6277,6287,6297,6307,6312,6320,6325,6330,6340,6350,6360,6370,6375,6383,6388,6393,6403,6413,6423,6433,6438,6446,6451,6457,6462,6494,6529],{"__ignoreMap":3747},[3751,6036,6037,6039,6042,6045],{"class":3753,"line":3754},[3751,6038,4438],{"class":3805},[3751,6040,6041],{"class":3757}," type",[3751,6043,6044],{"class":3829}," City",[3751,6046,6047],{"class":3761}," = {\n",[3751,6049,6050,6053,6055,6058],{"class":3753,"line":3802},[3751,6051,6052],{"class":3811},"  id",[3751,6054,4806],{"class":3761},[3751,6056,6057],{"class":3829},"string",[3751,6059,3867],{"class":3761},[3751,6061,6062,6065,6067,6069],{"class":3753,"line":3870},[3751,6063,6064],{"class":3811},"  name",[3751,6066,4806],{"class":3761},[3751,6068,6057],{"class":3829},[3751,6070,3867],{"class":3761},[3751,6072,6073,6076,6078,6080],{"class":3753,"line":4471},[3751,6074,6075],{"class":3811},"  region",[3751,6077,4806],{"class":3761},[3751,6079,6057],{"class":3829},[3751,6081,3867],{"class":3761},[3751,6083,6084,6087,6089,6091],{"class":3753,"line":4481},[3751,6085,6086],{"class":3811},"  population",[3751,6088,4806],{"class":3761},[3751,6090,6057],{"class":3829},[3751,6092,3867],{"class":3761},[3751,6094,6095,6098,6100,6102],{"class":3753,"line":4491},[3751,6096,6097],{"class":3811},"  description",[3751,6099,4806],{"class":3761},[3751,6101,6057],{"class":3829},[3751,6103,3867],{"class":3761},[3751,6105,6106],{"class":3753,"line":4532},[3751,6107,6108],{"class":3761},"};\n",[3751,6110,6111],{"class":3753,"line":4566},[3751,6112,5213],{"emptyLinePlaceholder":5212},[3751,6114,6115,6117,6120,6123,6125,6128],{"class":3753,"line":4576},[3751,6116,4438],{"class":3805},[3751,6118,6119],{"class":3757}," const",[3751,6121,6122],{"class":3765}," cities",[3751,6124,4806],{"class":3761},[3751,6126,6127],{"class":3829},"City",[3751,6129,6130],{"class":3761},"[] = [\n",[3751,6132,6133],{"class":3753,"line":4586},[3751,6134,6135],{"class":3761},"  {\n",[3751,6137,6138,6141,6144],{"class":3753,"line":4596},[3751,6139,6140],{"class":3811},"    id:",[3751,6142,6143],{"class":3784}," 'kyiv'",[3751,6145,6146],{"class":3761},",\n",[3751,6148,6149,6152,6155],{"class":3753,"line":4602},[3751,6150,6151],{"class":3811},"    name:",[3751,6153,6154],{"class":3784}," 'Київ'",[3751,6156,6146],{"class":3761},[3751,6158,6160,6163,6166],{"class":3753,"line":6159},13,[3751,6161,6162],{"class":3811},"    region:",[3751,6164,6165],{"class":3784}," 'м. Київ'",[3751,6167,6146],{"class":3761},[3751,6169,6171,6174,6177],{"class":3753,"line":6170},14,[3751,6172,6173],{"class":3811},"    population:",[3751,6175,6176],{"class":3784}," '≈ 2,9 млн'",[3751,6178,6146],{"class":3761},[3751,6180,6182],{"class":3753,"line":6181},15,[3751,6183,6184],{"class":3811},"    description:\n",[3751,6186,6188,6191],{"class":3753,"line":6187},16,[3751,6189,6190],{"class":3784},"      'Столиця України. Поділ, Хрещатик, правий і лівий береги Дніпра. Зручна відправна точка для подорожей центром країни.'",[3751,6192,6146],{"class":3761},[3751,6194,6196],{"class":3753,"line":6195},17,[3751,6197,6198],{"class":3761},"  },\n",[3751,6200,6202],{"class":3753,"line":6201},18,[3751,6203,6135],{"class":3761},[3751,6205,6207,6209,6212],{"class":3753,"line":6206},19,[3751,6208,6140],{"class":3811},[3751,6210,6211],{"class":3784}," 'lviv'",[3751,6213,6146],{"class":3761},[3751,6215,6217,6219,6222],{"class":3753,"line":6216},20,[3751,6218,6151],{"class":3811},[3751,6220,6221],{"class":3784}," 'Львів'",[3751,6223,6146],{"class":3761},[3751,6225,6227,6229,6232],{"class":3753,"line":6226},21,[3751,6228,6162],{"class":3811},[3751,6230,6231],{"class":3784}," 'Львівська область'",[3751,6233,6146],{"class":3761},[3751,6235,6237,6239,6242],{"class":3753,"line":6236},22,[3751,6238,6173],{"class":3811},[3751,6240,6241],{"class":3784}," '≈ 720 тис.'",[3751,6243,6146],{"class":3761},[3751,6245,6247],{"class":3753,"line":6246},23,[3751,6248,6184],{"class":3811},[3751,6250,6252,6255],{"class":3753,"line":6251},24,[3751,6253,6254],{"class":3784},"      'Місто на заході з площею Ринок, кавою й щільною історичною забудовою. Добре для вікенду пішки.'",[3751,6256,6146],{"class":3761},[3751,6258,6260],{"class":3753,"line":6259},25,[3751,6261,6198],{"class":3761},[3751,6263,6265],{"class":3753,"line":6264},26,[3751,6266,6135],{"class":3761},[3751,6268,6270,6272,6275],{"class":3753,"line":6269},27,[3751,6271,6140],{"class":3811},[3751,6273,6274],{"class":3784}," 'odesa'",[3751,6276,6146],{"class":3761},[3751,6278,6280,6282,6285],{"class":3753,"line":6279},28,[3751,6281,6151],{"class":3811},[3751,6283,6284],{"class":3784}," 'Одеса'",[3751,6286,6146],{"class":3761},[3751,6288,6290,6292,6295],{"class":3753,"line":6289},29,[3751,6291,6162],{"class":3811},[3751,6293,6294],{"class":3784}," 'Одеська область'",[3751,6296,6146],{"class":3761},[3751,6298,6300,6302,6305],{"class":3753,"line":6299},30,[3751,6301,6173],{"class":3811},[3751,6303,6304],{"class":3784}," '≈ 1 млн'",[3751,6306,6146],{"class":3761},[3751,6308,6310],{"class":3753,"line":6309},31,[3751,6311,6184],{"class":3811},[3751,6313,6315,6318],{"class":3753,"line":6314},32,[3751,6316,6317],{"class":3784},"      'Порт на Чорному морі. Дерибасівська, набережна, особливий гумор і кухня. Літній ритм міста інший, ніж узимку.'",[3751,6319,6146],{"class":3761},[3751,6321,6323],{"class":3753,"line":6322},33,[3751,6324,6198],{"class":3761},[3751,6326,6328],{"class":3753,"line":6327},34,[3751,6329,6135],{"class":3761},[3751,6331,6333,6335,6338],{"class":3753,"line":6332},35,[3751,6334,6140],{"class":3811},[3751,6336,6337],{"class":3784}," 'kharkiv'",[3751,6339,6146],{"class":3761},[3751,6341,6343,6345,6348],{"class":3753,"line":6342},36,[3751,6344,6151],{"class":3811},[3751,6346,6347],{"class":3784}," 'Харків'",[3751,6349,6146],{"class":3761},[3751,6351,6353,6355,6358],{"class":3753,"line":6352},37,[3751,6354,6162],{"class":3811},[3751,6356,6357],{"class":3784}," 'Харківська область'",[3751,6359,6146],{"class":3761},[3751,6361,6363,6365,6368],{"class":3753,"line":6362},38,[3751,6364,6173],{"class":3811},[3751,6366,6367],{"class":3784}," '≈ 1,4 млн'",[3751,6369,6146],{"class":3761},[3751,6371,6373],{"class":3753,"line":6372},39,[3751,6374,6184],{"class":3811},[3751,6376,6378,6381],{"class":3753,"line":6377},40,[3751,6379,6380],{"class":3784},"      'Велике місто на сході. Університети, парки, широкі проспекти. Важливий культурний і промисловий осередок.'",[3751,6382,6146],{"class":3761},[3751,6384,6386],{"class":3753,"line":6385},41,[3751,6387,6198],{"class":3761},[3751,6389,6391],{"class":3753,"line":6390},42,[3751,6392,6135],{"class":3761},[3751,6394,6396,6398,6401],{"class":3753,"line":6395},43,[3751,6397,6140],{"class":3811},[3751,6399,6400],{"class":3784}," 'dnipro'",[3751,6402,6146],{"class":3761},[3751,6404,6406,6408,6411],{"class":3753,"line":6405},44,[3751,6407,6151],{"class":3811},[3751,6409,6410],{"class":3784}," 'Дніпро'",[3751,6412,6146],{"class":3761},[3751,6414,6416,6418,6421],{"class":3753,"line":6415},45,[3751,6417,6162],{"class":3811},[3751,6419,6420],{"class":3784}," 'Дніпропетровська область'",[3751,6422,6146],{"class":3761},[3751,6424,6426,6428,6431],{"class":3753,"line":6425},46,[3751,6427,6173],{"class":3811},[3751,6429,6430],{"class":3784}," '≈ 970 тис.'",[3751,6432,6146],{"class":3761},[3751,6434,6436],{"class":3753,"line":6435},47,[3751,6437,6184],{"class":3811},[3751,6439,6441,6444],{"class":3753,"line":6440},48,[3751,6442,6443],{"class":3784},"      'Місто на річці Дніпро з довгою набережною й мостами. Зручний вузол між сходом і центром.'",[3751,6445,6146],{"class":3761},[3751,6447,6449],{"class":3753,"line":6448},49,[3751,6450,6198],{"class":3761},[3751,6452,6454],{"class":3753,"line":6453},50,[3751,6455,6456],{"class":3761},"];\n",[3751,6458,6460],{"class":3753,"line":6459},51,[3751,6461,5213],{"emptyLinePlaceholder":5212},[3751,6463,6465,6467,6469,6472,6474,6477,6479,6481,6484,6486,6488,6491],{"class":3753,"line":6464},52,[3751,6466,4438],{"class":3805},[3751,6468,4444],{"class":3757},[3751,6470,6471],{"class":3777}," getCityById",[3751,6473,3853],{"class":3761},[3751,6475,6476],{"class":3811},"id",[3751,6478,4806],{"class":3761},[3751,6480,6057],{"class":3829},[3751,6482,6483],{"class":3761},"): ",[3751,6485,6127],{"class":3829},[3751,6487,3788],{"class":3761},[3751,6489,6490],{"class":3829},"undefined",[3751,6492,6493],{"class":3761}," {\n",[3751,6495,6497,6499,6501,6503,6506,6509,6512,6514,6516,6519,6521,6523,6525,6527],{"class":3753,"line":6496},53,[3751,6498,4455],{"class":3805},[3751,6500,6122],{"class":3811},[3751,6502,3601],{"class":3761},[3751,6504,6505],{"class":3777},"find",[3751,6507,6508],{"class":3761},"((",[3751,6510,6511],{"class":3811},"c",[3751,6513,3819],{"class":3761},[3751,6515,3847],{"class":3757},[3751,6517,6518],{"class":3811}," c",[3751,6520,3601],{"class":3761},[3751,6522,6476],{"class":3811},[3751,6524,3814],{"class":3761},[3751,6526,6476],{"class":3811},[3751,6528,3799],{"class":3761},[3751,6530,6532],{"class":3753,"line":6531},54,[3751,6533,4605],{"class":3761},[4105,6535,6537,6538],{"id":6536},"крок-3-корінь-stack-app_layouttsx","Крок 3. Корінь Stack — ",[3521,6539,6540],{},"app\u002F_layout.tsx",[3512,6542,6543,6546],{},[3516,6544,6545],{},"Повністю замініть"," вміст:",[6025,6548,6550],{"title":6549},"Повний app\u002F_layout.tsx — розгорнути",[3742,6551,6553],{"className":3744,"code":6552,"language":3746,"meta":3747,"style":3747},"import { Stack } from 'expo-router';\nimport { StatusBar } from 'expo-status-bar';\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: { fontWeight: '600', color: '#0F172A' },\n          contentStyle: { backgroundColor: '#F8FAFC' },\n        }}\n      >\n        \u003CStack.Screen name=\"(tabs)\" options={{ headerShown: false }} \u002F>\n        \u003CStack.Screen\n          name=\"city\u002F[id]\"\n          options={{\n            title: 'Про місто',\n            headerBackTitle: 'Назад',\n          }}\n        \u002F>\n      \u003C\u002FStack>\n    \u003C\u002F>\n  );\n}\n",[3521,6554,6555,6571,6589,6593,6605,6611,6616,6631,6638,6650,6666,6676,6699,6712,6719,6724,6754,6761,6771,6782,6792,6802,6809,6814,6822,6827,6831],{"__ignoreMap":3747},[3751,6556,6557,6559,6561,6563,6565,6567,6569],{"class":3753,"line":3754},[3751,6558,5173],{"class":3805},[3751,6560,5176],{"class":3761},[3751,6562,3620],{"class":3811},[3751,6564,5181],{"class":3761},[3751,6566,5184],{"class":3805},[3751,6568,5187],{"class":3784},[3751,6570,3867],{"class":3761},[3751,6572,6573,6575,6577,6580,6582,6584,6587],{"class":3753,"line":3802},[3751,6574,5173],{"class":3805},[3751,6576,5176],{"class":3761},[3751,6578,6579],{"class":3811},"StatusBar",[3751,6581,5181],{"class":3761},[3751,6583,5184],{"class":3805},[3751,6585,6586],{"class":3784}," 'expo-status-bar'",[3751,6588,3867],{"class":3761},[3751,6590,6591],{"class":3753,"line":3870},[3751,6592,5213],{"emptyLinePlaceholder":5212},[3751,6594,6595,6597,6599,6601,6603],{"class":3753,"line":4471},[3751,6596,4438],{"class":3805},[3751,6598,4441],{"class":3805},[3751,6600,4444],{"class":3757},[3751,6602,4447],{"class":3777},[3751,6604,4450],{"class":3761},[3751,6606,6607,6609],{"class":3753,"line":4481},[3751,6608,4455],{"class":3805},[3751,6610,4458],{"class":3761},[3751,6612,6613],{"class":3753,"line":4491},[3751,6614,6615],{"class":3825},"    \u003C>\n",[3751,6617,6618,6620,6622,6624,6626,6629],{"class":3753,"line":4532},[3751,6619,4474],{"class":3825},[3751,6621,6579],{"class":3829},[3751,6623,5301],{"class":3833},[3751,6625,3837],{"class":3761},[3751,6627,6628],{"class":3784},"\"dark\"",[3751,6630,4529],{"class":3825},[3751,6632,6633,6635],{"class":3753,"line":4566},[3751,6634,4474],{"class":3825},[3751,6636,6637],{"class":3829},"Stack\n",[3751,6639,6640,6643,6645,6647],{"class":3753,"line":4576},[3751,6641,6642],{"class":3833},"        screenOptions",[3751,6644,3837],{"class":3761},[3751,6646,3840],{"class":3757},[3751,6648,6649],{"class":3843},"{\n",[3751,6651,6652,6655,6657,6660,6663],{"class":3753,"line":4586},[3751,6653,6654],{"class":3811},"          headerStyle:",[3751,6656,5176],{"class":3843},[3751,6658,6659],{"class":3811},"backgroundColor:",[3751,6661,6662],{"class":3784}," '#F8FAFC'",[3751,6664,6665],{"class":3843}," },\n",[3751,6667,6668,6671,6674],{"class":3753,"line":4596},[3751,6669,6670],{"class":3811},"          headerTintColor:",[3751,6672,6673],{"class":3784}," '#2563EB'",[3751,6675,6146],{"class":3843},[3751,6677,6678,6681,6683,6686,6689,6691,6694,6697],{"class":3753,"line":4602},[3751,6679,6680],{"class":3811},"          headerTitleStyle:",[3751,6682,5176],{"class":3843},[3751,6684,6685],{"class":3811},"fontWeight:",[3751,6687,6688],{"class":3784}," '600'",[3751,6690,3640],{"class":3843},[3751,6692,6693],{"class":3811},"color:",[3751,6695,6696],{"class":3784}," '#0F172A'",[3751,6698,6665],{"class":3843},[3751,6700,6701,6704,6706,6708,6710],{"class":3753,"line":6159},[3751,6702,6703],{"class":3811},"          contentStyle:",[3751,6705,5176],{"class":3843},[3751,6707,6659],{"class":3811},[3751,6709,6662],{"class":3784},[3751,6711,6665],{"class":3843},[3751,6713,6714,6717],{"class":3753,"line":6170},[3751,6715,6716],{"class":3843},"        }",[3751,6718,4605],{"class":3757},[3751,6720,6721],{"class":3753,"line":6181},[3751,6722,6723],{"class":3825},"      >\n",[3751,6725,6726,6728,6730,6732,6734,6736,6738,6740,6742,6744,6746,6748,6750,6752],{"class":3753,"line":6187},[3751,6727,4484],{"class":3825},[3751,6729,4497],{"class":3829},[3751,6731,4500],{"class":3833},[3751,6733,3837],{"class":3761},[3751,6735,4505],{"class":3784},[3751,6737,4508],{"class":3833},[3751,6739,3837],{"class":3761},[3751,6741,3840],{"class":3757},[3751,6743,4515],{"class":3843},[3751,6745,4518],{"class":3811},[3751,6747,4521],{"class":3757},[3751,6749,4524],{"class":3843},[3751,6751,3861],{"class":3757},[3751,6753,4529],{"class":3825},[3751,6755,6756,6758],{"class":3753,"line":6195},[3751,6757,4484],{"class":3825},[3751,6759,6760],{"class":3829},"Stack.Screen\n",[3751,6762,6763,6766,6768],{"class":3753,"line":6201},[3751,6764,6765],{"class":3833},"          name",[3751,6767,3837],{"class":3761},[3751,6769,6770],{"class":3784},"\"city\u002F[id]\"\n",[3751,6772,6773,6776,6778,6780],{"class":3753,"line":6206},[3751,6774,6775],{"class":3833},"          options",[3751,6777,3837],{"class":3761},[3751,6779,3840],{"class":3757},[3751,6781,6649],{"class":3843},[3751,6783,6784,6787,6790],{"class":3753,"line":6216},[3751,6785,6786],{"class":3811},"            title:",[3751,6788,6789],{"class":3784}," 'Про місто'",[3751,6791,6146],{"class":3843},[3751,6793,6794,6797,6800],{"class":3753,"line":6226},[3751,6795,6796],{"class":3811},"            headerBackTitle:",[3751,6798,6799],{"class":3784}," 'Назад'",[3751,6801,6146],{"class":3843},[3751,6803,6804,6807],{"class":3753,"line":6236},[3751,6805,6806],{"class":3843},"          }",[3751,6808,4605],{"class":3757},[3751,6810,6811],{"class":3753,"line":6246},[3751,6812,6813],{"class":3825},"        \u002F>\n",[3751,6815,6816,6818,6820],{"class":3753,"line":6251},[3751,6817,4579],{"class":3825},[3751,6819,3620],{"class":3829},[3751,6821,4468],{"class":3825},[3751,6823,6824],{"class":3753,"line":6259},[3751,6825,6826],{"class":3825},"    \u003C\u002F>\n",[3751,6828,6829],{"class":3753,"line":6264},[3751,6830,4599],{"class":3761},[3751,6832,6833],{"class":3753,"line":6269},[3751,6834,4605],{"class":3761},[4105,6836,6838,6839],{"id":6837},"крок-4-tabs-apptabs_layouttsx","Крок 4. Tabs — ",[3521,6840,6841],{},"app\u002F(tabs)\u002F_layout.tsx",[3512,6843,6844,6846,6847,3630,6849,3601],{},[3516,6845,6545],{}," вміст. Лише дві вкладки: ",[3521,6848,3660],{},[3521,6850,4957],{},[6025,6852,6854],{"title":6853},"Повний app\u002F(tabs)\u002F_layout.tsx — розгорнути",[3742,6855,6857],{"className":3744,"code":6856,"language":3746,"meta":3747,"style":3747},"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=\"index\"\n        options={{\n          title: 'Список',\n          tabBarIcon: ({ color, size }) => (\n            \u003CIonicons name=\"list-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",[3521,6858,6859,6875,6893,6897,6910,6916,6923,6934,6943,6952,6962,6969,6978,6988,6993,7015,7022,7027,7034,7044,7055,7065,7089,7127,7132,7138,7143,7149,7158,7168,7177,7197,7204,7214,7227,7240,7245,7249,7255,7259,7267,7271],{"__ignoreMap":3747},[3751,6860,6861,6863,6865,6867,6869,6871,6873],{"class":3753,"line":3754},[3751,6862,5173],{"class":3805},[3751,6864,5176],{"class":3761},[3751,6866,3616],{"class":3811},[3751,6868,5181],{"class":3761},[3751,6870,5184],{"class":3805},[3751,6872,5187],{"class":3784},[3751,6874,3867],{"class":3761},[3751,6876,6877,6879,6881,6884,6886,6888,6891],{"class":3753,"line":3802},[3751,6878,5173],{"class":3805},[3751,6880,5176],{"class":3761},[3751,6882,6883],{"class":3811},"Ionicons",[3751,6885,5181],{"class":3761},[3751,6887,5184],{"class":3805},[3751,6889,6890],{"class":3784}," '@expo\u002Fvector-icons'",[3751,6892,3867],{"class":3761},[3751,6894,6895],{"class":3753,"line":3870},[3751,6896,5213],{"emptyLinePlaceholder":5212},[3751,6898,6899,6901,6903,6905,6908],{"class":3753,"line":4471},[3751,6900,4438],{"class":3805},[3751,6902,4441],{"class":3805},[3751,6904,4444],{"class":3757},[3751,6906,6907],{"class":3777}," TabsLayout",[3751,6909,4450],{"class":3761},[3751,6911,6912,6914],{"class":3753,"line":4481},[3751,6913,4455],{"class":3805},[3751,6915,4458],{"class":3761},[3751,6917,6918,6920],{"class":3753,"line":4491},[3751,6919,4463],{"class":3825},[3751,6921,6922],{"class":3829},"Tabs\n",[3751,6924,6925,6928,6930,6932],{"class":3753,"line":4532},[3751,6926,6927],{"class":3833},"      screenOptions",[3751,6929,3837],{"class":3761},[3751,6931,3840],{"class":3757},[3751,6933,6649],{"class":3843},[3751,6935,6936,6939,6941],{"class":3753,"line":4566},[3751,6937,6938],{"class":3811},"        headerShown:",[3751,6940,4521],{"class":3757},[3751,6942,6146],{"class":3843},[3751,6944,6945,6948,6950],{"class":3753,"line":4576},[3751,6946,6947],{"class":3811},"        tabBarActiveTintColor:",[3751,6949,6673],{"class":3784},[3751,6951,6146],{"class":3843},[3751,6953,6954,6957,6960],{"class":3753,"line":4586},[3751,6955,6956],{"class":3811},"        tabBarInactiveTintColor:",[3751,6958,6959],{"class":3784}," '#64748B'",[3751,6961,6146],{"class":3843},[3751,6963,6964,6967],{"class":3753,"line":4596},[3751,6965,6966],{"class":3811},"        tabBarStyle:",[3751,6968,6493],{"class":3843},[3751,6970,6971,6974,6976],{"class":3753,"line":4602},[3751,6972,6973],{"class":3811},"          backgroundColor:",[3751,6975,6662],{"class":3784},[3751,6977,6146],{"class":3843},[3751,6979,6980,6983,6986],{"class":3753,"line":6159},[3751,6981,6982],{"class":3811},"          borderTopColor:",[3751,6984,6985],{"class":3784}," '#E2E8F0'",[3751,6987,6146],{"class":3843},[3751,6989,6990],{"class":3753,"line":6170},[3751,6991,6992],{"class":3843},"        },\n",[3751,6994,6995,6998,7000,7003,7007,7009,7011,7013],{"class":3753,"line":6181},[3751,6996,6997],{"class":3811},"        tabBarLabelStyle:",[3751,6999,5176],{"class":3843},[3751,7001,7002],{"class":3811},"fontSize:",[3751,7004,7006],{"class":7005},"sJj4R"," 12",[3751,7008,3640],{"class":3843},[3751,7010,6685],{"class":3811},[3751,7012,6688],{"class":3784},[3751,7014,6665],{"class":3843},[3751,7016,7017,7020],{"class":3753,"line":6187},[3751,7018,7019],{"class":3843},"      }",[3751,7021,4605],{"class":3757},[3751,7023,7024],{"class":3753,"line":6195},[3751,7025,7026],{"class":3825},"    >\n",[3751,7028,7029,7031],{"class":3753,"line":6201},[3751,7030,4474],{"class":3825},[3751,7032,7033],{"class":3829},"Tabs.Screen\n",[3751,7035,7036,7039,7041],{"class":3753,"line":6206},[3751,7037,7038],{"class":3833},"        name",[3751,7040,3837],{"class":3761},[3751,7042,7043],{"class":3784},"\"index\"\n",[3751,7045,7046,7049,7051,7053],{"class":3753,"line":6216},[3751,7047,7048],{"class":3833},"        options",[3751,7050,3837],{"class":3761},[3751,7052,3840],{"class":3757},[3751,7054,6649],{"class":3843},[3751,7056,7057,7060,7063],{"class":3753,"line":6226},[3751,7058,7059],{"class":3811},"          title:",[3751,7061,7062],{"class":3784}," 'Список'",[3751,7064,6146],{"class":3843},[3751,7066,7067,7070,7072,7075,7077,7079,7082,7085,7087],{"class":3753,"line":6236},[3751,7068,7069],{"class":3777},"          tabBarIcon",[3751,7071,5658],{"class":3811},[3751,7073,7074],{"class":3843}," ({ ",[3751,7076,4973],{"class":3811},[3751,7078,3640],{"class":3843},[3751,7080,7081],{"class":3811},"size",[3751,7083,7084],{"class":3843}," }) ",[3751,7086,3847],{"class":3757},[3751,7088,4458],{"class":3843},[3751,7090,7091,7094,7096,7098,7100,7103,7106,7108,7110,7112,7114,7117,7119,7121,7123,7125],{"class":3753,"line":6246},[3751,7092,7093],{"class":3825},"            \u003C",[3751,7095,6883],{"class":3829},[3751,7097,4500],{"class":3833},[3751,7099,3837],{"class":3761},[3751,7101,7102],{"class":3784},"\"list-outline\"",[3751,7104,7105],{"class":3833}," size",[3751,7107,3837],{"class":3761},[3751,7109,3840],{"class":3757},[3751,7111,7081],{"class":3811},[3751,7113,3861],{"class":3757},[3751,7115,7116],{"class":3833}," color",[3751,7118,3837],{"class":3761},[3751,7120,3840],{"class":3757},[3751,7122,4973],{"class":3811},[3751,7124,3861],{"class":3757},[3751,7126,4529],{"class":3825},[3751,7128,7129],{"class":3753,"line":6251},[3751,7130,7131],{"class":3843},"          ),\n",[3751,7133,7134,7136],{"class":3753,"line":6259},[3751,7135,6716],{"class":3843},[3751,7137,4605],{"class":3757},[3751,7139,7140],{"class":3753,"line":6264},[3751,7141,7142],{"class":3825},"      \u002F>\n",[3751,7144,7145,7147],{"class":3753,"line":6269},[3751,7146,4474],{"class":3825},[3751,7148,7033],{"class":3829},[3751,7150,7151,7153,7155],{"class":3753,"line":6279},[3751,7152,7038],{"class":3833},[3751,7154,3837],{"class":3761},[3751,7156,7157],{"class":3784},"\"about\"\n",[3751,7159,7160,7162,7164,7166],{"class":3753,"line":6289},[3751,7161,7048],{"class":3833},[3751,7163,3837],{"class":3761},[3751,7165,3840],{"class":3757},[3751,7167,6649],{"class":3843},[3751,7169,7170,7172,7175],{"class":3753,"line":6299},[3751,7171,7059],{"class":3811},[3751,7173,7174],{"class":3784}," 'Про нас'",[3751,7176,6146],{"class":3843},[3751,7178,7179,7181,7183,7185,7187,7189,7191,7193,7195],{"class":3753,"line":6309},[3751,7180,7069],{"class":3777},[3751,7182,5658],{"class":3811},[3751,7184,7074],{"class":3843},[3751,7186,4973],{"class":3811},[3751,7188,3640],{"class":3843},[3751,7190,7081],{"class":3811},[3751,7192,7084],{"class":3843},[3751,7194,3847],{"class":3757},[3751,7196,4458],{"class":3843},[3751,7198,7199,7201],{"class":3753,"line":6314},[3751,7200,7093],{"class":3825},[3751,7202,7203],{"class":3829},"Ionicons\n",[3751,7205,7206,7209,7211],{"class":3753,"line":6322},[3751,7207,7208],{"class":3833},"              name",[3751,7210,3837],{"class":3761},[3751,7212,7213],{"class":3784},"\"information-circle-outline\"\n",[3751,7215,7216,7219,7221,7223,7225],{"class":3753,"line":6327},[3751,7217,7218],{"class":3833},"              size",[3751,7220,3837],{"class":3761},[3751,7222,3840],{"class":3757},[3751,7224,7081],{"class":3811},[3751,7226,4605],{"class":3757},[3751,7228,7229,7232,7234,7236,7238],{"class":3753,"line":6332},[3751,7230,7231],{"class":3833},"              color",[3751,7233,3837],{"class":3761},[3751,7235,3840],{"class":3757},[3751,7237,4973],{"class":3811},[3751,7239,4605],{"class":3757},[3751,7241,7242],{"class":3753,"line":6342},[3751,7243,7244],{"class":3825},"            \u002F>\n",[3751,7246,7247],{"class":3753,"line":6352},[3751,7248,7131],{"class":3843},[3751,7250,7251,7253],{"class":3753,"line":6362},[3751,7252,6716],{"class":3843},[3751,7254,4605],{"class":3757},[3751,7256,7257],{"class":3753,"line":6372},[3751,7258,7142],{"class":3825},[3751,7260,7261,7263,7265],{"class":3753,"line":6377},[3751,7262,4589],{"class":3825},[3751,7264,3616],{"class":3829},[3751,7266,4468],{"class":3825},[3751,7268,7269],{"class":3753,"line":6385},[3751,7270,4599],{"class":3761},[3751,7272,7273],{"class":3753,"line":6390},[3751,7274,4605],{"class":3761},[4105,7276,7278,7279],{"id":7277},"крок-5-список-apptabsindextsx","Крок 5. Список — ",[3521,7280,4686],{},[3512,7282,7283,6546],{},[3516,7284,6545],{},[6025,7286,7288],{"title":7287},"Повний app\u002F(tabs)\u002Findex.tsx — розгорнути",[3742,7289,7291],{"className":3744,"code":7290,"language":3746,"meta":3747,"style":3747},"import { FlatList, Pressable, StyleSheet, Text, View } from 'react-native';\nimport { Link } from 'expo-router';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n\nimport { cities } from '..\u002F..\u002Fsrc\u002Fdata\u002Fcities';\n\nexport default function CitiesListScreen() {\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}>{cities.length} міст · тапніть картку\u003C\u002FText>\n      \u003C\u002FView>\n\n      \u003CFlatList\n        data={cities}\n        keyExtractor={(item) => item.id}\n        contentContainerStyle={styles.list}\n        ItemSeparatorComponent={() => \u003CView style={{ height: 10 }} \u002F>}\n        renderItem={({ item }) => (\n          \u003CLink href={`\u002Fcity\u002F${item.id}`} asChild>\n            \u003CPressable style={styles.card}>\n              \u003CText style={styles.cardTitle}>{item.name}\u003C\u002FText>\n              \u003CText style={styles.cardMeta}>{item.region}\u003C\u002FText>\n              \u003CText style={styles.linkHint}>Деталі →\u003C\u002FText>\n            \u003C\u002FPressable>\n          \u003C\u002FLink>\n        )}\n      \u002F>\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: 32 },\n  card: {\n    backgroundColor: '#FFFFFF',\n    borderRadius: 12,\n    borderWidth: 1,\n    borderColor: '#E2E8F0',\n    padding: 14,\n  },\n  cardTitle: { fontSize: 18, fontWeight: '700', color: '#0F172A' },\n  cardMeta: { marginTop: 4, color: '#64748B', fontSize: 13 },\n  linkHint: {\n    marginTop: 10,\n    color: '#2563EB',\n    fontWeight: '700',\n    fontSize: 13,\n  },\n});\n",[3521,7292,7293,7328,7344,7361,7365,7383,7387,7400,7406,7447,7469,7500,7543,7551,7555,7562,7575,7602,7620,7659,7679,7714,7736,7776,7816,7848,7857,7866,7873,7877,7885,7889,7893,7897,7916,7937,7944,7954,7964,7973,7982,7991,7995,8022,8050,8072,8079,8089,8098,8107,8116,8126,8130,8157,8182,8190,8200,8210,8220,8230,8235],{"__ignoreMap":3747},[3751,7294,7295,7297,7299,7302,7304,7306,7308,7311,7313,7315,7317,7320,7322,7324,7326],{"class":3753,"line":3754},[3751,7296,5173],{"class":3805},[3751,7298,5176],{"class":3761},[3751,7300,7301],{"class":3811},"FlatList",[3751,7303,3640],{"class":3761},[3751,7305,5298],{"class":3811},[3751,7307,3640],{"class":3761},[3751,7309,7310],{"class":3811},"StyleSheet",[3751,7312,3640],{"class":3761},[3751,7314,5198],{"class":3811},[3751,7316,3640],{"class":3761},[3751,7318,7319],{"class":3811},"View",[3751,7321,5181],{"class":3761},[3751,7323,5184],{"class":3805},[3751,7325,5205],{"class":3784},[3751,7327,3867],{"class":3761},[3751,7329,7330,7332,7334,7336,7338,7340,7342],{"class":3753,"line":3802},[3751,7331,5173],{"class":3805},[3751,7333,5176],{"class":3761},[3751,7335,3629],{"class":3811},[3751,7337,5181],{"class":3761},[3751,7339,5184],{"class":3805},[3751,7341,5187],{"class":3784},[3751,7343,3867],{"class":3761},[3751,7345,7346,7348,7350,7352,7354,7356,7359],{"class":3753,"line":3870},[3751,7347,5173],{"class":3805},[3751,7349,5176],{"class":3761},[3751,7351,5728],{"class":3811},[3751,7353,5181],{"class":3761},[3751,7355,5184],{"class":3805},[3751,7357,7358],{"class":3784}," 'react-native-safe-area-context'",[3751,7360,3867],{"class":3761},[3751,7362,7363],{"class":3753,"line":4471},[3751,7364,5213],{"emptyLinePlaceholder":5212},[3751,7366,7367,7369,7371,7374,7376,7378,7381],{"class":3753,"line":4481},[3751,7368,5173],{"class":3805},[3751,7370,5176],{"class":3761},[3751,7372,7373],{"class":3811},"cities",[3751,7375,5181],{"class":3761},[3751,7377,5184],{"class":3805},[3751,7379,7380],{"class":3784}," '..\u002F..\u002Fsrc\u002Fdata\u002Fcities'",[3751,7382,3867],{"class":3761},[3751,7384,7385],{"class":3753,"line":4491},[3751,7386,5213],{"emptyLinePlaceholder":5212},[3751,7388,7389,7391,7393,7395,7398],{"class":3753,"line":4532},[3751,7390,4438],{"class":3805},[3751,7392,4441],{"class":3805},[3751,7394,4444],{"class":3757},[3751,7396,7397],{"class":3777}," CitiesListScreen",[3751,7399,4450],{"class":3761},[3751,7401,7402,7404],{"class":3753,"line":4566},[3751,7403,4455],{"class":3805},[3751,7405,4458],{"class":3761},[3751,7407,7408,7410,7412,7414,7416,7418,7420,7422,7425,7427,7430,7432,7434,7437,7440,7443,7445],{"class":3753,"line":4576},[3751,7409,4463],{"class":3825},[3751,7411,5728],{"class":3829},[3751,7413,5301],{"class":3833},[3751,7415,3837],{"class":3761},[3751,7417,3840],{"class":3757},[3751,7419,5308],{"class":3811},[3751,7421,3601],{"class":3843},[3751,7423,7424],{"class":3811},"safe",[3751,7426,3861],{"class":3757},[3751,7428,7429],{"class":3833}," edges",[3751,7431,3837],{"class":3761},[3751,7433,3840],{"class":3757},[3751,7435,7436],{"class":3843},"[",[3751,7438,7439],{"class":3784},"'top'",[3751,7441,7442],{"class":3843},"]",[3751,7444,3861],{"class":3757},[3751,7446,4468],{"class":3825},[3751,7448,7449,7451,7453,7455,7457,7459,7461,7463,7465,7467],{"class":3753,"line":4586},[3751,7450,4474],{"class":3825},[3751,7452,7319],{"class":3829},[3751,7454,5301],{"class":3833},[3751,7456,3837],{"class":3761},[3751,7458,3840],{"class":3757},[3751,7460,5308],{"class":3811},[3751,7462,3601],{"class":3843},[3751,7464,4773],{"class":3811},[3751,7466,3861],{"class":3757},[3751,7468,4468],{"class":3825},[3751,7470,7471,7473,7475,7477,7479,7481,7483,7485,7487,7489,7491,7494,7496,7498],{"class":3753,"line":4596},[3751,7472,4484],{"class":3825},[3751,7474,5198],{"class":3829},[3751,7476,5301],{"class":3833},[3751,7478,3837],{"class":3761},[3751,7480,3840],{"class":3757},[3751,7482,5308],{"class":3811},[3751,7484,3601],{"class":3843},[3751,7486,4809],{"class":3811},[3751,7488,3861],{"class":3757},[3751,7490,5239],{"class":3825},[3751,7492,7493],{"class":3761},"Довідник міст",[3751,7495,5245],{"class":3825},[3751,7497,5198],{"class":3829},[3751,7499,4468],{"class":3825},[3751,7501,7502,7504,7506,7508,7510,7512,7514,7516,7519,7521,7523,7525,7527,7529,7532,7534,7537,7539,7541],{"class":3753,"line":4602},[3751,7503,4484],{"class":3825},[3751,7505,5198],{"class":3829},[3751,7507,5301],{"class":3833},[3751,7509,3837],{"class":3761},[3751,7511,3840],{"class":3757},[3751,7513,5308],{"class":3811},[3751,7515,3601],{"class":3843},[3751,7517,7518],{"class":3811},"muted",[3751,7520,3861],{"class":3757},[3751,7522,5239],{"class":3825},[3751,7524,3840],{"class":3757},[3751,7526,7373],{"class":3811},[3751,7528,3601],{"class":3843},[3751,7530,7531],{"class":3811},"length",[3751,7533,3861],{"class":3757},[3751,7535,7536],{"class":3761}," міст · тапніть картку",[3751,7538,5245],{"class":3825},[3751,7540,5198],{"class":3829},[3751,7542,4468],{"class":3825},[3751,7544,7545,7547,7549],{"class":3753,"line":6159},[3751,7546,4579],{"class":3825},[3751,7548,7319],{"class":3829},[3751,7550,4468],{"class":3825},[3751,7552,7553],{"class":3753,"line":6170},[3751,7554,5213],{"emptyLinePlaceholder":5212},[3751,7556,7557,7559],{"class":3753,"line":6181},[3751,7558,4474],{"class":3825},[3751,7560,7561],{"class":3829},"FlatList\n",[3751,7563,7564,7567,7569,7571,7573],{"class":3753,"line":6187},[3751,7565,7566],{"class":3833},"        data",[3751,7568,3837],{"class":3761},[3751,7570,3840],{"class":3757},[3751,7572,7373],{"class":3811},[3751,7574,4605],{"class":3757},[3751,7576,7577,7580,7582,7584,7586,7589,7591,7593,7596,7598,7600],{"class":3753,"line":6195},[3751,7578,7579],{"class":3833},"        keyExtractor",[3751,7581,3837],{"class":3761},[3751,7583,3840],{"class":3757},[3751,7585,3853],{"class":3843},[3751,7587,7588],{"class":3811},"item",[3751,7590,3819],{"class":3843},[3751,7592,3847],{"class":3757},[3751,7594,7595],{"class":3811}," item",[3751,7597,3601],{"class":3843},[3751,7599,6476],{"class":3811},[3751,7601,4605],{"class":3757},[3751,7603,7604,7607,7609,7611,7613,7615,7618],{"class":3753,"line":6201},[3751,7605,7606],{"class":3833},"        contentContainerStyle",[3751,7608,3837],{"class":3761},[3751,7610,3840],{"class":3757},[3751,7612,5308],{"class":3811},[3751,7614,3601],{"class":3843},[3751,7616,7617],{"class":3811},"list",[3751,7619,4605],{"class":3757},[3751,7621,7622,7625,7627,7629,7631,7633,7635,7637,7639,7641,7643,7645,7648,7651,7653,7655,7657],{"class":3753,"line":6206},[3751,7623,7624],{"class":3833},"        ItemSeparatorComponent",[3751,7626,3837],{"class":3761},[3751,7628,3840],{"class":3757},[3751,7630,3844],{"class":3843},[3751,7632,3847],{"class":3757},[3751,7634,3826],{"class":3825},[3751,7636,7319],{"class":3829},[3751,7638,5301],{"class":3833},[3751,7640,3837],{"class":3761},[3751,7642,3840],{"class":3757},[3751,7644,4515],{"class":3843},[3751,7646,7647],{"class":3811},"height:",[3751,7649,7650],{"class":7005}," 10",[3751,7652,4524],{"class":3843},[3751,7654,3861],{"class":3757},[3751,7656,3864],{"class":3825},[3751,7658,4605],{"class":3757},[3751,7660,7661,7664,7666,7668,7671,7673,7675,7677],{"class":3753,"line":6216},[3751,7662,7663],{"class":3833},"        renderItem",[3751,7665,3837],{"class":3761},[3751,7667,3840],{"class":3757},[3751,7669,7670],{"class":3843},"({ ",[3751,7672,7588],{"class":3811},[3751,7674,7084],{"class":3843},[3751,7676,3847],{"class":3757},[3751,7678,4458],{"class":3843},[3751,7680,7681,7683,7685,7687,7689,7691,7694,7697,7699,7701,7703,7705,7708,7710,7712],{"class":3753,"line":6226},[3751,7682,4494],{"class":3825},[3751,7684,3629],{"class":3829},[3751,7686,5222],{"class":3833},[3751,7688,3837],{"class":3761},[3751,7690,3840],{"class":3757},[3751,7692,7693],{"class":3784},"`\u002Fcity\u002F",[3751,7695,7696],{"class":3757},"${",[3751,7698,7588],{"class":3811},[3751,7700,3601],{"class":3843},[3751,7702,6476],{"class":3811},[3751,7704,3861],{"class":3757},[3751,7706,7707],{"class":3784},"`",[3751,7709,3861],{"class":3757},[3751,7711,5289],{"class":3833},[3751,7713,4468],{"class":3825},[3751,7715,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734],{"class":3753,"line":6236},[3751,7717,7093],{"class":3825},[3751,7719,5298],{"class":3829},[3751,7721,5301],{"class":3833},[3751,7723,3837],{"class":3761},[3751,7725,3840],{"class":3757},[3751,7727,5308],{"class":3811},[3751,7729,3601],{"class":3843},[3751,7731,4830],{"class":3811},[3751,7733,3861],{"class":3757},[3751,7735,4468],{"class":3825},[3751,7737,7738,7741,7743,7745,7747,7749,7751,7753,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774],{"class":3753,"line":6246},[3751,7739,7740],{"class":3825},"              \u003C",[3751,7742,5198],{"class":3829},[3751,7744,5301],{"class":3833},[3751,7746,3837],{"class":3761},[3751,7748,3840],{"class":3757},[3751,7750,5308],{"class":3811},[3751,7752,3601],{"class":3843},[3751,7754,7755],{"class":3811},"cardTitle",[3751,7757,3861],{"class":3757},[3751,7759,5239],{"class":3825},[3751,7761,3840],{"class":3757},[3751,7763,7588],{"class":3811},[3751,7765,3601],{"class":3843},[3751,7767,4801],{"class":3811},[3751,7769,3861],{"class":3757},[3751,7771,5245],{"class":3825},[3751,7773,5198],{"class":3829},[3751,7775,4468],{"class":3825},[3751,7777,7778,7780,7782,7784,7786,7788,7790,7792,7795,7797,7799,7801,7803,7805,7808,7810,7812,7814],{"class":3753,"line":6251},[3751,7779,7740],{"class":3825},[3751,7781,5198],{"class":3829},[3751,7783,5301],{"class":3833},[3751,7785,3837],{"class":3761},[3751,7787,3840],{"class":3757},[3751,7789,5308],{"class":3811},[3751,7791,3601],{"class":3843},[3751,7793,7794],{"class":3811},"cardMeta",[3751,7796,3861],{"class":3757},[3751,7798,5239],{"class":3825},[3751,7800,3840],{"class":3757},[3751,7802,7588],{"class":3811},[3751,7804,3601],{"class":3843},[3751,7806,7807],{"class":3811},"region",[3751,7809,3861],{"class":3757},[3751,7811,5245],{"class":3825},[3751,7813,5198],{"class":3829},[3751,7815,4468],{"class":3825},[3751,7817,7818,7820,7822,7824,7826,7828,7830,7832,7835,7837,7839,7842,7844,7846],{"class":3753,"line":6259},[3751,7819,7740],{"class":3825},[3751,7821,5198],{"class":3829},[3751,7823,5301],{"class":3833},[3751,7825,3837],{"class":3761},[3751,7827,3840],{"class":3757},[3751,7829,5308],{"class":3811},[3751,7831,3601],{"class":3843},[3751,7833,7834],{"class":3811},"linkHint",[3751,7836,3861],{"class":3757},[3751,7838,5239],{"class":3825},[3751,7840,7841],{"class":3843},"Деталі →",[3751,7843,5245],{"class":3825},[3751,7845,5198],{"class":3829},[3751,7847,4468],{"class":3825},[3751,7849,7850,7853,7855],{"class":3753,"line":6264},[3751,7851,7852],{"class":3825},"            \u003C\u002F",[3751,7854,5298],{"class":3829},[3751,7856,4468],{"class":3825},[3751,7858,7859,7862,7864],{"class":3753,"line":6269},[3751,7860,7861],{"class":3825},"          \u003C\u002F",[3751,7863,3629],{"class":3829},[3751,7865,4468],{"class":3825},[3751,7867,7868,7871],{"class":3753,"line":6279},[3751,7869,7870],{"class":3843},"        )",[3751,7872,4605],{"class":3757},[3751,7874,7875],{"class":3753,"line":6289},[3751,7876,7142],{"class":3825},[3751,7878,7879,7881,7883],{"class":3753,"line":6299},[3751,7880,4589],{"class":3825},[3751,7882,5728],{"class":3829},[3751,7884,4468],{"class":3825},[3751,7886,7887],{"class":3753,"line":6309},[3751,7888,4599],{"class":3761},[3751,7890,7891],{"class":3753,"line":6314},[3751,7892,4605],{"class":3761},[3751,7894,7895],{"class":3753,"line":6322},[3751,7896,5213],{"emptyLinePlaceholder":5212},[3751,7898,7899,7901,7904,7906,7908,7910,7913],{"class":3753,"line":6327},[3751,7900,3758],{"class":3757},[3751,7902,7903],{"class":3765}," styles",[3751,7905,5457],{"class":3761},[3751,7907,7310],{"class":3811},[3751,7909,3601],{"class":3761},[3751,7911,7912],{"class":3777},"create",[3751,7914,7915],{"class":3761},"({\n",[3751,7917,7918,7921,7923,7926,7929,7931,7933,7935],{"class":3753,"line":6332},[3751,7919,7920],{"class":3811},"  safe:",[3751,7922,5176],{"class":3761},[3751,7924,7925],{"class":3811},"flex:",[3751,7927,7928],{"class":7005}," 1",[3751,7930,3640],{"class":3761},[3751,7932,6659],{"class":3811},[3751,7934,6662],{"class":3784},[3751,7936,6665],{"class":3761},[3751,7938,7939,7942],{"class":3753,"line":6342},[3751,7940,7941],{"class":3811},"  header:",[3751,7943,6493],{"class":3761},[3751,7945,7946,7949,7952],{"class":3753,"line":6352},[3751,7947,7948],{"class":3811},"    paddingHorizontal:",[3751,7950,7951],{"class":7005}," 16",[3751,7953,6146],{"class":3761},[3751,7955,7956,7959,7962],{"class":3753,"line":6362},[3751,7957,7958],{"class":3811},"    paddingTop:",[3751,7960,7961],{"class":7005}," 8",[3751,7963,6146],{"class":3761},[3751,7965,7966,7969,7971],{"class":3753,"line":6372},[3751,7967,7968],{"class":3811},"    paddingBottom:",[3751,7970,7006],{"class":7005},[3751,7972,6146],{"class":3761},[3751,7974,7975,7978,7980],{"class":3753,"line":6377},[3751,7976,7977],{"class":3811},"    borderBottomWidth:",[3751,7979,7928],{"class":7005},[3751,7981,6146],{"class":3761},[3751,7983,7984,7987,7989],{"class":3753,"line":6385},[3751,7985,7986],{"class":3811},"    borderBottomColor:",[3751,7988,6985],{"class":3784},[3751,7990,6146],{"class":3761},[3751,7992,7993],{"class":3753,"line":6390},[3751,7994,6198],{"class":3761},[3751,7996,7997,8000,8002,8004,8007,8009,8011,8014,8016,8018,8020],{"class":3753,"line":6395},[3751,7998,7999],{"class":3811},"  title:",[3751,8001,5176],{"class":3761},[3751,8003,7002],{"class":3811},[3751,8005,8006],{"class":7005}," 24",[3751,8008,3640],{"class":3761},[3751,8010,6685],{"class":3811},[3751,8012,8013],{"class":3784}," '800'",[3751,8015,3640],{"class":3761},[3751,8017,6693],{"class":3811},[3751,8019,6696],{"class":3784},[3751,8021,6665],{"class":3761},[3751,8023,8024,8027,8029,8032,8035,8037,8039,8041,8043,8045,8048],{"class":3753,"line":6405},[3751,8025,8026],{"class":3811},"  muted:",[3751,8028,5176],{"class":3761},[3751,8030,8031],{"class":3811},"marginTop:",[3751,8033,8034],{"class":7005}," 4",[3751,8036,3640],{"class":3761},[3751,8038,6693],{"class":3811},[3751,8040,6959],{"class":3784},[3751,8042,3640],{"class":3761},[3751,8044,7002],{"class":3811},[3751,8046,8047],{"class":7005}," 13",[3751,8049,6665],{"class":3761},[3751,8051,8052,8055,8057,8060,8062,8064,8067,8070],{"class":3753,"line":6415},[3751,8053,8054],{"class":3811},"  list:",[3751,8056,5176],{"class":3761},[3751,8058,8059],{"class":3811},"padding:",[3751,8061,7951],{"class":7005},[3751,8063,3640],{"class":3761},[3751,8065,8066],{"class":3811},"paddingBottom:",[3751,8068,8069],{"class":7005}," 32",[3751,8071,6665],{"class":3761},[3751,8073,8074,8077],{"class":3753,"line":6425},[3751,8075,8076],{"class":3811},"  card:",[3751,8078,6493],{"class":3761},[3751,8080,8081,8084,8087],{"class":3753,"line":6435},[3751,8082,8083],{"class":3811},"    backgroundColor:",[3751,8085,8086],{"class":3784}," '#FFFFFF'",[3751,8088,6146],{"class":3761},[3751,8090,8091,8094,8096],{"class":3753,"line":6440},[3751,8092,8093],{"class":3811},"    borderRadius:",[3751,8095,7006],{"class":7005},[3751,8097,6146],{"class":3761},[3751,8099,8100,8103,8105],{"class":3753,"line":6448},[3751,8101,8102],{"class":3811},"    borderWidth:",[3751,8104,7928],{"class":7005},[3751,8106,6146],{"class":3761},[3751,8108,8109,8112,8114],{"class":3753,"line":6453},[3751,8110,8111],{"class":3811},"    borderColor:",[3751,8113,6985],{"class":3784},[3751,8115,6146],{"class":3761},[3751,8117,8118,8121,8124],{"class":3753,"line":6459},[3751,8119,8120],{"class":3811},"    padding:",[3751,8122,8123],{"class":7005}," 14",[3751,8125,6146],{"class":3761},[3751,8127,8128],{"class":3753,"line":6464},[3751,8129,6198],{"class":3761},[3751,8131,8132,8135,8137,8139,8142,8144,8146,8149,8151,8153,8155],{"class":3753,"line":6496},[3751,8133,8134],{"class":3811},"  cardTitle:",[3751,8136,5176],{"class":3761},[3751,8138,7002],{"class":3811},[3751,8140,8141],{"class":7005}," 18",[3751,8143,3640],{"class":3761},[3751,8145,6685],{"class":3811},[3751,8147,8148],{"class":3784}," '700'",[3751,8150,3640],{"class":3761},[3751,8152,6693],{"class":3811},[3751,8154,6696],{"class":3784},[3751,8156,6665],{"class":3761},[3751,8158,8159,8162,8164,8166,8168,8170,8172,8174,8176,8178,8180],{"class":3753,"line":6531},[3751,8160,8161],{"class":3811},"  cardMeta:",[3751,8163,5176],{"class":3761},[3751,8165,8031],{"class":3811},[3751,8167,8034],{"class":7005},[3751,8169,3640],{"class":3761},[3751,8171,6693],{"class":3811},[3751,8173,6959],{"class":3784},[3751,8175,3640],{"class":3761},[3751,8177,7002],{"class":3811},[3751,8179,8047],{"class":7005},[3751,8181,6665],{"class":3761},[3751,8183,8185,8188],{"class":3753,"line":8184},55,[3751,8186,8187],{"class":3811},"  linkHint:",[3751,8189,6493],{"class":3761},[3751,8191,8193,8196,8198],{"class":3753,"line":8192},56,[3751,8194,8195],{"class":3811},"    marginTop:",[3751,8197,7650],{"class":7005},[3751,8199,6146],{"class":3761},[3751,8201,8203,8206,8208],{"class":3753,"line":8202},57,[3751,8204,8205],{"class":3811},"    color:",[3751,8207,6673],{"class":3784},[3751,8209,6146],{"class":3761},[3751,8211,8213,8216,8218],{"class":3753,"line":8212},58,[3751,8214,8215],{"class":3811},"    fontWeight:",[3751,8217,8148],{"class":3784},[3751,8219,6146],{"class":3761},[3751,8221,8223,8226,8228],{"class":3753,"line":8222},59,[3751,8224,8225],{"class":3811},"    fontSize:",[3751,8227,8047],{"class":7005},[3751,8229,6146],{"class":3761},[3751,8231,8233],{"class":3753,"line":8232},60,[3751,8234,6198],{"class":3761},[3751,8236,8238],{"class":3753,"line":8237},61,[3751,8239,8240],{"class":3761},"});\n",[4105,8242,8244,8245],{"id":8243},"крок-6-про-нас-apptabsabouttsx","Крок 6. «Про нас» — ",[3521,8246,5088],{},[3512,8248,8249,8251],{},[3516,8250,6545],{}," (або створіть, якщо не було):",[6025,8253,8255],{"title":8254},"Повний app\u002F(tabs)\u002Fabout.tsx — розгорнути",[3742,8256,8258],{"className":3744,"code":8257,"language":3746,"meta":3747,"style":3747},"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          Навчальний міні-проєкт курсу React Native: дві вкладки (Tabs) і екран\n          деталей у Stack. Дані — локальний масив міст, без мережі.\n        \u003C\u002FText>\n        \u003CText style={styles.p}>\n          Список відкриває маршрут \u002Fcity\u002F[id] через компонент Link. Кнопка\n          «назад» на екрані деталей — системна (Stack header).\n        \u003C\u002FText>\n        \u003CLink href=\"\u002F\" 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, paddingBottom: 40 },\n  title: { fontSize: 24, fontWeight: '800', color: '#0F172A' },\n  p: { fontSize: 16, lineHeight: 24, color: '#334155' },\n  link: {\n    marginTop: 8,\n    color: '#2563EB',\n    fontWeight: '700',\n    fontSize: 16,\n  },\n});\n",[3521,8259,8260,8285,8301,8317,8321,8334,8340,8376,8400,8431,8453,8458,8463,8471,8493,8498,8503,8511,8540,8545,8553,8561,8569,8573,8577,8581,8597,8615,8642,8666,8693,8700,8708,8716,8724,8732,8736],{"__ignoreMap":3747},[3751,8261,8262,8264,8266,8269,8271,8273,8275,8277,8279,8281,8283],{"class":3753,"line":3754},[3751,8263,5173],{"class":3805},[3751,8265,5176],{"class":3761},[3751,8267,8268],{"class":3811},"ScrollView",[3751,8270,3640],{"class":3761},[3751,8272,7310],{"class":3811},[3751,8274,3640],{"class":3761},[3751,8276,5198],{"class":3811},[3751,8278,5181],{"class":3761},[3751,8280,5184],{"class":3805},[3751,8282,5205],{"class":3784},[3751,8284,3867],{"class":3761},[3751,8286,8287,8289,8291,8293,8295,8297,8299],{"class":3753,"line":3802},[3751,8288,5173],{"class":3805},[3751,8290,5176],{"class":3761},[3751,8292,3629],{"class":3811},[3751,8294,5181],{"class":3761},[3751,8296,5184],{"class":3805},[3751,8298,5187],{"class":3784},[3751,8300,3867],{"class":3761},[3751,8302,8303,8305,8307,8309,8311,8313,8315],{"class":3753,"line":3870},[3751,8304,5173],{"class":3805},[3751,8306,5176],{"class":3761},[3751,8308,5728],{"class":3811},[3751,8310,5181],{"class":3761},[3751,8312,5184],{"class":3805},[3751,8314,7358],{"class":3784},[3751,8316,3867],{"class":3761},[3751,8318,8319],{"class":3753,"line":4471},[3751,8320,5213],{"emptyLinePlaceholder":5212},[3751,8322,8323,8325,8327,8329,8332],{"class":3753,"line":4481},[3751,8324,4438],{"class":3805},[3751,8326,4441],{"class":3805},[3751,8328,4444],{"class":3757},[3751,8330,8331],{"class":3777}," AboutScreen",[3751,8333,4450],{"class":3761},[3751,8335,8336,8338],{"class":3753,"line":4491},[3751,8337,4455],{"class":3805},[3751,8339,4458],{"class":3761},[3751,8341,8342,8344,8346,8348,8350,8352,8354,8356,8358,8360,8362,8364,8366,8368,8370,8372,8374],{"class":3753,"line":4532},[3751,8343,4463],{"class":3825},[3751,8345,5728],{"class":3829},[3751,8347,5301],{"class":3833},[3751,8349,3837],{"class":3761},[3751,8351,3840],{"class":3757},[3751,8353,5308],{"class":3811},[3751,8355,3601],{"class":3843},[3751,8357,7424],{"class":3811},[3751,8359,3861],{"class":3757},[3751,8361,7429],{"class":3833},[3751,8363,3837],{"class":3761},[3751,8365,3840],{"class":3757},[3751,8367,7436],{"class":3843},[3751,8369,7439],{"class":3784},[3751,8371,7442],{"class":3843},[3751,8373,3861],{"class":3757},[3751,8375,4468],{"class":3825},[3751,8377,8378,8380,8382,8385,8387,8389,8391,8393,8396,8398],{"class":3753,"line":4566},[3751,8379,4474],{"class":3825},[3751,8381,8268],{"class":3829},[3751,8383,8384],{"class":3833}," contentContainerStyle",[3751,8386,3837],{"class":3761},[3751,8388,3840],{"class":3757},[3751,8390,5308],{"class":3811},[3751,8392,3601],{"class":3843},[3751,8394,8395],{"class":3811},"body",[3751,8397,3861],{"class":3757},[3751,8399,4468],{"class":3825},[3751,8401,8402,8404,8406,8408,8410,8412,8414,8416,8418,8420,8422,8425,8427,8429],{"class":3753,"line":4576},[3751,8403,4484],{"class":3825},[3751,8405,5198],{"class":3829},[3751,8407,5301],{"class":3833},[3751,8409,3837],{"class":3761},[3751,8411,3840],{"class":3757},[3751,8413,5308],{"class":3811},[3751,8415,3601],{"class":3843},[3751,8417,4809],{"class":3811},[3751,8419,3861],{"class":3757},[3751,8421,5239],{"class":3825},[3751,8423,8424],{"class":3761},"Про довідник",[3751,8426,5245],{"class":3825},[3751,8428,5198],{"class":3829},[3751,8430,4468],{"class":3825},[3751,8432,8433,8435,8437,8439,8441,8443,8445,8447,8449,8451],{"class":3753,"line":4586},[3751,8434,4484],{"class":3825},[3751,8436,5198],{"class":3829},[3751,8438,5301],{"class":3833},[3751,8440,3837],{"class":3761},[3751,8442,3840],{"class":3757},[3751,8444,5308],{"class":3811},[3751,8446,3601],{"class":3843},[3751,8448,3512],{"class":3811},[3751,8450,3861],{"class":3757},[3751,8452,4468],{"class":3825},[3751,8454,8455],{"class":3753,"line":4596},[3751,8456,8457],{"class":3761},"          Навчальний міні-проєкт курсу React Native: дві вкладки (Tabs) і екран\n",[3751,8459,8460],{"class":3753,"line":4602},[3751,8461,8462],{"class":3761},"          деталей у Stack. Дані — локальний масив міст, без мережі.\n",[3751,8464,8465,8467,8469],{"class":3753,"line":6159},[3751,8466,4569],{"class":3825},[3751,8468,5198],{"class":3829},[3751,8470,4468],{"class":3825},[3751,8472,8473,8475,8477,8479,8481,8483,8485,8487,8489,8491],{"class":3753,"line":6170},[3751,8474,4484],{"class":3825},[3751,8476,5198],{"class":3829},[3751,8478,5301],{"class":3833},[3751,8480,3837],{"class":3761},[3751,8482,3840],{"class":3757},[3751,8484,5308],{"class":3811},[3751,8486,3601],{"class":3843},[3751,8488,3512],{"class":3811},[3751,8490,3861],{"class":3757},[3751,8492,4468],{"class":3825},[3751,8494,8495],{"class":3753,"line":6181},[3751,8496,8497],{"class":3761},"          Список відкриває маршрут \u002Fcity\u002F[id] через компонент Link. Кнопка\n",[3751,8499,8500],{"class":3753,"line":6187},[3751,8501,8502],{"class":3761},"          «назад» на екрані деталей — системна (Stack header).\n",[3751,8504,8505,8507,8509],{"class":3753,"line":6195},[3751,8506,4569],{"class":3825},[3751,8508,5198],{"class":3829},[3751,8510,4468],{"class":3825},[3751,8512,8513,8515,8517,8519,8521,8523,8525,8527,8529,8531,8533,8536,8538],{"class":3753,"line":6201},[3751,8514,4484],{"class":3825},[3751,8516,3629],{"class":3829},[3751,8518,5222],{"class":3833},[3751,8520,3837],{"class":3761},[3751,8522,5590],{"class":3784},[3751,8524,5301],{"class":3833},[3751,8526,3837],{"class":3761},[3751,8528,3840],{"class":3757},[3751,8530,5308],{"class":3811},[3751,8532,3601],{"class":3843},[3751,8534,8535],{"class":3811},"link",[3751,8537,3861],{"class":3757},[3751,8539,4468],{"class":3825},[3751,8541,8542],{"class":3753,"line":6206},[3751,8543,8544],{"class":3761},"          ← До списку міст\n",[3751,8546,8547,8549,8551],{"class":3753,"line":6216},[3751,8548,4569],{"class":3825},[3751,8550,3629],{"class":3829},[3751,8552,4468],{"class":3825},[3751,8554,8555,8557,8559],{"class":3753,"line":6226},[3751,8556,4579],{"class":3825},[3751,8558,8268],{"class":3829},[3751,8560,4468],{"class":3825},[3751,8562,8563,8565,8567],{"class":3753,"line":6236},[3751,8564,4589],{"class":3825},[3751,8566,5728],{"class":3829},[3751,8568,4468],{"class":3825},[3751,8570,8571],{"class":3753,"line":6246},[3751,8572,4599],{"class":3761},[3751,8574,8575],{"class":3753,"line":6251},[3751,8576,4605],{"class":3761},[3751,8578,8579],{"class":3753,"line":6259},[3751,8580,5213],{"emptyLinePlaceholder":5212},[3751,8582,8583,8585,8587,8589,8591,8593,8595],{"class":3753,"line":6264},[3751,8584,3758],{"class":3757},[3751,8586,7903],{"class":3765},[3751,8588,5457],{"class":3761},[3751,8590,7310],{"class":3811},[3751,8592,3601],{"class":3761},[3751,8594,7912],{"class":3777},[3751,8596,7915],{"class":3761},[3751,8598,8599,8601,8603,8605,8607,8609,8611,8613],{"class":3753,"line":6269},[3751,8600,7920],{"class":3811},[3751,8602,5176],{"class":3761},[3751,8604,7925],{"class":3811},[3751,8606,7928],{"class":7005},[3751,8608,3640],{"class":3761},[3751,8610,6659],{"class":3811},[3751,8612,6662],{"class":3784},[3751,8614,6665],{"class":3761},[3751,8616,8617,8620,8622,8624,8626,8628,8631,8633,8635,8637,8640],{"class":3753,"line":6279},[3751,8618,8619],{"class":3811},"  body:",[3751,8621,5176],{"class":3761},[3751,8623,8059],{"class":3811},[3751,8625,7951],{"class":7005},[3751,8627,3640],{"class":3761},[3751,8629,8630],{"class":3811},"gap:",[3751,8632,7006],{"class":7005},[3751,8634,3640],{"class":3761},[3751,8636,8066],{"class":3811},[3751,8638,8639],{"class":7005}," 40",[3751,8641,6665],{"class":3761},[3751,8643,8644,8646,8648,8650,8652,8654,8656,8658,8660,8662,8664],{"class":3753,"line":6289},[3751,8645,7999],{"class":3811},[3751,8647,5176],{"class":3761},[3751,8649,7002],{"class":3811},[3751,8651,8006],{"class":7005},[3751,8653,3640],{"class":3761},[3751,8655,6685],{"class":3811},[3751,8657,8013],{"class":3784},[3751,8659,3640],{"class":3761},[3751,8661,6693],{"class":3811},[3751,8663,6696],{"class":3784},[3751,8665,6665],{"class":3761},[3751,8667,8668,8671,8673,8675,8677,8679,8682,8684,8686,8688,8691],{"class":3753,"line":6299},[3751,8669,8670],{"class":3811},"  p:",[3751,8672,5176],{"class":3761},[3751,8674,7002],{"class":3811},[3751,8676,7951],{"class":7005},[3751,8678,3640],{"class":3761},[3751,8680,8681],{"class":3811},"lineHeight:",[3751,8683,8006],{"class":7005},[3751,8685,3640],{"class":3761},[3751,8687,6693],{"class":3811},[3751,8689,8690],{"class":3784}," '#334155'",[3751,8692,6665],{"class":3761},[3751,8694,8695,8698],{"class":3753,"line":6309},[3751,8696,8697],{"class":3811},"  link:",[3751,8699,6493],{"class":3761},[3751,8701,8702,8704,8706],{"class":3753,"line":6314},[3751,8703,8195],{"class":3811},[3751,8705,7961],{"class":7005},[3751,8707,6146],{"class":3761},[3751,8709,8710,8712,8714],{"class":3753,"line":6322},[3751,8711,8205],{"class":3811},[3751,8713,6673],{"class":3784},[3751,8715,6146],{"class":3761},[3751,8717,8718,8720,8722],{"class":3753,"line":6327},[3751,8719,8215],{"class":3811},[3751,8721,8148],{"class":3784},[3751,8723,6146],{"class":3761},[3751,8725,8726,8728,8730],{"class":3753,"line":6332},[3751,8727,8225],{"class":3811},[3751,8729,7951],{"class":7005},[3751,8731,6146],{"class":3761},[3751,8733,8734],{"class":3753,"line":6342},[3751,8735,6198],{"class":3761},[3751,8737,8738],{"class":3753,"line":6352},[3751,8739,8240],{"class":3761},[4105,8741,8743,8744],{"id":8742},"крок-7-деталі-appcityidtsx","Крок 7. Деталі — ",[3521,8745,8746],{},"app\u002Fcity\u002F[id].tsx",[3512,8748,8749,8750,8753,8754,3654,8757,5658],{},"Створіть теку ",[3521,8751,8752],{},"app\u002Fcity\u002F"," і файл ",[3521,8755,8756],{},"[id].tsx",[3516,8758,8759],{},"цілком",[6025,8761,8763],{"title":8762},"Повний app\u002Fcity\u002F[id].tsx — розгорнути",[3742,8764,8766],{"className":3744,"code":8765,"language":3746,"meta":3747,"style":3747},"import { ScrollView, StyleSheet, Text, View } from 'react-native';\nimport { Stack, useLocalSearchParams } from 'expo-router';\n\nimport { getCityById } from '..\u002F..\u002Fsrc\u002Fdata\u002Fcities';\n\nexport default function CityDetailsScreen() {\n  const { id } = useLocalSearchParams\u003C{ id: string }>();\n  const cityId = Array.isArray(id) ? id[0] : id;\n  const city = cityId ? getCityById(cityId) : undefined;\n\n  if (!city) {\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}>Немає запису з id: {String(cityId)}\u003C\u002FText>\n      \u003C\u002FView>\n    );\n  }\n\n  return (\n    \u003CScrollView contentContainerStyle={styles.body}>\n      \u003CStack.Screen options={{ title: city.name }} \u002F>\n      \u003CText style={styles.title}>{city.name}\u003C\u002FText>\n      \u003CText style={styles.meta}>{city.region}\u003C\u002FText>\n      \u003CText style={styles.meta}>Населення: {city.population}\u003C\u002FText>\n      \u003CText style={styles.p}>{city.description}\u003C\u002FText>\n    \u003C\u002FScrollView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  body: { padding: 16, gap: 8, paddingBottom: 40 },\n  center: {\n    flex: 1,\n    padding: 24,\n    justifyContent: 'center',\n    alignItems: 'center',\n    backgroundColor: '#F8FAFC',\n  },\n  title: { fontSize: 26, fontWeight: '800', color: '#0F172A' },\n  meta: { fontSize: 14, color: '#64748B', fontWeight: '600' },\n  muted: { marginTop: 8, color: '#64748B' },\n  p: { marginTop: 12, fontSize: 16, lineHeight: 24, color: '#334155' },\n});\n",[3521,8767,8768,8796,8817,8821,8838,8842,8855,8881,8919,8947,8951,8965,8972,8995,9020,9051,9095,9103,9108,9113,9117,9123,9145,9173,9211,9250,9292,9331,9339,9343,9347,9351,9367,9391,9398,9407,9415,9425,9434,9442,9446,9471,9496,9514,9544],{"__ignoreMap":3747},[3751,8769,8770,8772,8774,8776,8778,8780,8782,8784,8786,8788,8790,8792,8794],{"class":3753,"line":3754},[3751,8771,5173],{"class":3805},[3751,8773,5176],{"class":3761},[3751,8775,8268],{"class":3811},[3751,8777,3640],{"class":3761},[3751,8779,7310],{"class":3811},[3751,8781,3640],{"class":3761},[3751,8783,5198],{"class":3811},[3751,8785,3640],{"class":3761},[3751,8787,7319],{"class":3811},[3751,8789,5181],{"class":3761},[3751,8791,5184],{"class":3805},[3751,8793,5205],{"class":3784},[3751,8795,3867],{"class":3761},[3751,8797,8798,8800,8802,8804,8806,8809,8811,8813,8815],{"class":3753,"line":3802},[3751,8799,5173],{"class":3805},[3751,8801,5176],{"class":3761},[3751,8803,3620],{"class":3811},[3751,8805,3640],{"class":3761},[3751,8807,8808],{"class":3811},"useLocalSearchParams",[3751,8810,5181],{"class":3761},[3751,8812,5184],{"class":3805},[3751,8814,5187],{"class":3784},[3751,8816,3867],{"class":3761},[3751,8818,8819],{"class":3753,"line":3870},[3751,8820,5213],{"emptyLinePlaceholder":5212},[3751,8822,8823,8825,8827,8830,8832,8834,8836],{"class":3753,"line":4471},[3751,8824,5173],{"class":3805},[3751,8826,5176],{"class":3761},[3751,8828,8829],{"class":3811},"getCityById",[3751,8831,5181],{"class":3761},[3751,8833,5184],{"class":3805},[3751,8835,7380],{"class":3784},[3751,8837,3867],{"class":3761},[3751,8839,8840],{"class":3753,"line":4481},[3751,8841,5213],{"emptyLinePlaceholder":5212},[3751,8843,8844,8846,8848,8850,8853],{"class":3753,"line":4491},[3751,8845,4438],{"class":3805},[3751,8847,4441],{"class":3805},[3751,8849,4444],{"class":3757},[3751,8851,8852],{"class":3777}," CityDetailsScreen",[3751,8854,4450],{"class":3761},[3751,8856,8857,8860,8862,8864,8867,8869,8872,8874,8876,8878],{"class":3753,"line":4532},[3751,8858,8859],{"class":3757},"  const",[3751,8861,5176],{"class":3761},[3751,8863,6476],{"class":3765},[3751,8865,8866],{"class":3761}," } = ",[3751,8868,8808],{"class":3777},[3751,8870,8871],{"class":3761},"\u003C{ ",[3751,8873,6476],{"class":3811},[3751,8875,4806],{"class":3761},[3751,8877,6057],{"class":3829},[3751,8879,8880],{"class":3761}," }>();\n",[3751,8882,8883,8885,8888,8890,8893,8895,8898,8900,8902,8905,8907,8909,8912,8915,8917],{"class":3753,"line":4566},[3751,8884,8859],{"class":3757},[3751,8886,8887],{"class":3765}," cityId",[3751,8889,5457],{"class":3761},[3751,8891,8892],{"class":3811},"Array",[3751,8894,3601],{"class":3761},[3751,8896,8897],{"class":3777},"isArray",[3751,8899,3853],{"class":3761},[3751,8901,6476],{"class":3811},[3751,8903,8904],{"class":3761},") ? ",[3751,8906,6476],{"class":3811},[3751,8908,7436],{"class":3761},[3751,8910,8911],{"class":7005},"0",[3751,8913,8914],{"class":3761},"] : ",[3751,8916,6476],{"class":3811},[3751,8918,3867],{"class":3761},[3751,8920,8921,8923,8926,8928,8931,8934,8936,8938,8940,8943,8945],{"class":3753,"line":4576},[3751,8922,8859],{"class":3757},[3751,8924,8925],{"class":3765}," city",[3751,8927,5457],{"class":3761},[3751,8929,8930],{"class":3811},"cityId",[3751,8932,8933],{"class":3761}," ? ",[3751,8935,8829],{"class":3777},[3751,8937,3853],{"class":3761},[3751,8939,8930],{"class":3811},[3751,8941,8942],{"class":3761},") : ",[3751,8944,6490],{"class":3757},[3751,8946,3867],{"class":3761},[3751,8948,8949],{"class":3753,"line":4586},[3751,8950,5213],{"emptyLinePlaceholder":5212},[3751,8952,8953,8956,8959,8962],{"class":3753,"line":4596},[3751,8954,8955],{"class":3805},"  if",[3751,8957,8958],{"class":3761}," (!",[3751,8960,8961],{"class":3811},"city",[3751,8963,8964],{"class":3761},") {\n",[3751,8966,8967,8970],{"class":3753,"line":4602},[3751,8968,8969],{"class":3805},"    return",[3751,8971,4458],{"class":3761},[3751,8973,8974,8976,8978,8980,8982,8984,8986,8988,8991,8993],{"class":3753,"line":6159},[3751,8975,4474],{"class":3825},[3751,8977,7319],{"class":3829},[3751,8979,5301],{"class":3833},[3751,8981,3837],{"class":3761},[3751,8983,3840],{"class":3757},[3751,8985,5308],{"class":3811},[3751,8987,3601],{"class":3843},[3751,8989,8990],{"class":3811},"center",[3751,8992,3861],{"class":3757},[3751,8994,4468],{"class":3825},[3751,8996,8997,8999,9001,9003,9005,9007,9009,9011,9014,9016,9018],{"class":3753,"line":6170},[3751,8998,4484],{"class":3825},[3751,9000,4497],{"class":3829},[3751,9002,4508],{"class":3833},[3751,9004,3837],{"class":3761},[3751,9006,3840],{"class":3757},[3751,9008,4515],{"class":3843},[3751,9010,4554],{"class":3811},[3751,9012,9013],{"class":3784}," 'Не знайдено'",[3751,9015,4524],{"class":3843},[3751,9017,3861],{"class":3757},[3751,9019,4529],{"class":3825},[3751,9021,9022,9024,9026,9028,9030,9032,9034,9036,9038,9040,9042,9045,9047,9049],{"class":3753,"line":6181},[3751,9023,4484],{"class":3825},[3751,9025,5198],{"class":3829},[3751,9027,5301],{"class":3833},[3751,9029,3837],{"class":3761},[3751,9031,3840],{"class":3757},[3751,9033,5308],{"class":3811},[3751,9035,3601],{"class":3843},[3751,9037,4809],{"class":3811},[3751,9039,3861],{"class":3757},[3751,9041,5239],{"class":3825},[3751,9043,9044],{"class":3761},"Місто не знайдено",[3751,9046,5245],{"class":3825},[3751,9048,5198],{"class":3829},[3751,9050,4468],{"class":3825},[3751,9052,9053,9055,9057,9059,9061,9063,9065,9067,9069,9071,9073,9076,9078,9081,9083,9085,9087,9089,9091,9093],{"class":3753,"line":6187},[3751,9054,4484],{"class":3825},[3751,9056,5198],{"class":3829},[3751,9058,5301],{"class":3833},[3751,9060,3837],{"class":3761},[3751,9062,3840],{"class":3757},[3751,9064,5308],{"class":3811},[3751,9066,3601],{"class":3843},[3751,9068,7518],{"class":3811},[3751,9070,3861],{"class":3757},[3751,9072,5239],{"class":3825},[3751,9074,9075],{"class":3761},"Немає запису з id: ",[3751,9077,3840],{"class":3757},[3751,9079,9080],{"class":3777},"String",[3751,9082,3853],{"class":3843},[3751,9084,8930],{"class":3811},[3751,9086,3858],{"class":3843},[3751,9088,3861],{"class":3757},[3751,9090,5245],{"class":3825},[3751,9092,5198],{"class":3829},[3751,9094,4468],{"class":3825},[3751,9096,9097,9099,9101],{"class":3753,"line":6195},[3751,9098,4579],{"class":3825},[3751,9100,7319],{"class":3829},[3751,9102,4468],{"class":3825},[3751,9104,9105],{"class":3753,"line":6201},[3751,9106,9107],{"class":3761},"    );\n",[3751,9109,9110],{"class":3753,"line":6206},[3751,9111,9112],{"class":3761},"  }\n",[3751,9114,9115],{"class":3753,"line":6216},[3751,9116,5213],{"emptyLinePlaceholder":5212},[3751,9118,9119,9121],{"class":3753,"line":6226},[3751,9120,4455],{"class":3805},[3751,9122,4458],{"class":3761},[3751,9124,9125,9127,9129,9131,9133,9135,9137,9139,9141,9143],{"class":3753,"line":6236},[3751,9126,4463],{"class":3825},[3751,9128,8268],{"class":3829},[3751,9130,8384],{"class":3833},[3751,9132,3837],{"class":3761},[3751,9134,3840],{"class":3757},[3751,9136,5308],{"class":3811},[3751,9138,3601],{"class":3843},[3751,9140,8395],{"class":3811},[3751,9142,3861],{"class":3757},[3751,9144,4468],{"class":3825},[3751,9146,9147,9149,9151,9153,9155,9157,9159,9161,9163,9165,9167,9169,9171],{"class":3753,"line":6246},[3751,9148,4474],{"class":3825},[3751,9150,4497],{"class":3829},[3751,9152,4508],{"class":3833},[3751,9154,3837],{"class":3761},[3751,9156,3840],{"class":3757},[3751,9158,4515],{"class":3843},[3751,9160,4554],{"class":3811},[3751,9162,8925],{"class":3811},[3751,9164,3601],{"class":3843},[3751,9166,4801],{"class":3811},[3751,9168,4524],{"class":3843},[3751,9170,3861],{"class":3757},[3751,9172,4529],{"class":3825},[3751,9174,9175,9177,9179,9181,9183,9185,9187,9189,9191,9193,9195,9197,9199,9201,9203,9205,9207,9209],{"class":3753,"line":6251},[3751,9176,4474],{"class":3825},[3751,9178,5198],{"class":3829},[3751,9180,5301],{"class":3833},[3751,9182,3837],{"class":3761},[3751,9184,3840],{"class":3757},[3751,9186,5308],{"class":3811},[3751,9188,3601],{"class":3843},[3751,9190,4809],{"class":3811},[3751,9192,3861],{"class":3757},[3751,9194,5239],{"class":3825},[3751,9196,3840],{"class":3757},[3751,9198,8961],{"class":3811},[3751,9200,3601],{"class":3843},[3751,9202,4801],{"class":3811},[3751,9204,3861],{"class":3757},[3751,9206,5245],{"class":3825},[3751,9208,5198],{"class":3829},[3751,9210,4468],{"class":3825},[3751,9212,9213,9215,9217,9219,9221,9223,9225,9227,9230,9232,9234,9236,9238,9240,9242,9244,9246,9248],{"class":3753,"line":6259},[3751,9214,4474],{"class":3825},[3751,9216,5198],{"class":3829},[3751,9218,5301],{"class":3833},[3751,9220,3837],{"class":3761},[3751,9222,3840],{"class":3757},[3751,9224,5308],{"class":3811},[3751,9226,3601],{"class":3843},[3751,9228,9229],{"class":3811},"meta",[3751,9231,3861],{"class":3757},[3751,9233,5239],{"class":3825},[3751,9235,3840],{"class":3757},[3751,9237,8961],{"class":3811},[3751,9239,3601],{"class":3843},[3751,9241,7807],{"class":3811},[3751,9243,3861],{"class":3757},[3751,9245,5245],{"class":3825},[3751,9247,5198],{"class":3829},[3751,9249,4468],{"class":3825},[3751,9251,9252,9254,9256,9258,9260,9262,9264,9266,9268,9270,9272,9275,9277,9279,9281,9284,9286,9288,9290],{"class":3753,"line":6264},[3751,9253,4474],{"class":3825},[3751,9255,5198],{"class":3829},[3751,9257,5301],{"class":3833},[3751,9259,3837],{"class":3761},[3751,9261,3840],{"class":3757},[3751,9263,5308],{"class":3811},[3751,9265,3601],{"class":3843},[3751,9267,9229],{"class":3811},[3751,9269,3861],{"class":3757},[3751,9271,5239],{"class":3825},[3751,9273,9274],{"class":3761},"Населення: ",[3751,9276,3840],{"class":3757},[3751,9278,8961],{"class":3811},[3751,9280,3601],{"class":3843},[3751,9282,9283],{"class":3811},"population",[3751,9285,3861],{"class":3757},[3751,9287,5245],{"class":3825},[3751,9289,5198],{"class":3829},[3751,9291,4468],{"class":3825},[3751,9293,9294,9296,9298,9300,9302,9304,9306,9308,9310,9312,9314,9316,9318,9320,9323,9325,9327,9329],{"class":3753,"line":6269},[3751,9295,4474],{"class":3825},[3751,9297,5198],{"class":3829},[3751,9299,5301],{"class":3833},[3751,9301,3837],{"class":3761},[3751,9303,3840],{"class":3757},[3751,9305,5308],{"class":3811},[3751,9307,3601],{"class":3843},[3751,9309,3512],{"class":3811},[3751,9311,3861],{"class":3757},[3751,9313,5239],{"class":3825},[3751,9315,3840],{"class":3757},[3751,9317,8961],{"class":3811},[3751,9319,3601],{"class":3843},[3751,9321,9322],{"class":3811},"description",[3751,9324,3861],{"class":3757},[3751,9326,5245],{"class":3825},[3751,9328,5198],{"class":3829},[3751,9330,4468],{"class":3825},[3751,9332,9333,9335,9337],{"class":3753,"line":6279},[3751,9334,4589],{"class":3825},[3751,9336,8268],{"class":3829},[3751,9338,4468],{"class":3825},[3751,9340,9341],{"class":3753,"line":6289},[3751,9342,4599],{"class":3761},[3751,9344,9345],{"class":3753,"line":6299},[3751,9346,4605],{"class":3761},[3751,9348,9349],{"class":3753,"line":6309},[3751,9350,5213],{"emptyLinePlaceholder":5212},[3751,9352,9353,9355,9357,9359,9361,9363,9365],{"class":3753,"line":6314},[3751,9354,3758],{"class":3757},[3751,9356,7903],{"class":3765},[3751,9358,5457],{"class":3761},[3751,9360,7310],{"class":3811},[3751,9362,3601],{"class":3761},[3751,9364,7912],{"class":3777},[3751,9366,7915],{"class":3761},[3751,9368,9369,9371,9373,9375,9377,9379,9381,9383,9385,9387,9389],{"class":3753,"line":6322},[3751,9370,8619],{"class":3811},[3751,9372,5176],{"class":3761},[3751,9374,8059],{"class":3811},[3751,9376,7951],{"class":7005},[3751,9378,3640],{"class":3761},[3751,9380,8630],{"class":3811},[3751,9382,7961],{"class":7005},[3751,9384,3640],{"class":3761},[3751,9386,8066],{"class":3811},[3751,9388,8639],{"class":7005},[3751,9390,6665],{"class":3761},[3751,9392,9393,9396],{"class":3753,"line":6327},[3751,9394,9395],{"class":3811},"  center:",[3751,9397,6493],{"class":3761},[3751,9399,9400,9403,9405],{"class":3753,"line":6332},[3751,9401,9402],{"class":3811},"    flex:",[3751,9404,7928],{"class":7005},[3751,9406,6146],{"class":3761},[3751,9408,9409,9411,9413],{"class":3753,"line":6342},[3751,9410,8120],{"class":3811},[3751,9412,8006],{"class":7005},[3751,9414,6146],{"class":3761},[3751,9416,9417,9420,9423],{"class":3753,"line":6352},[3751,9418,9419],{"class":3811},"    justifyContent:",[3751,9421,9422],{"class":3784}," 'center'",[3751,9424,6146],{"class":3761},[3751,9426,9427,9430,9432],{"class":3753,"line":6362},[3751,9428,9429],{"class":3811},"    alignItems:",[3751,9431,9422],{"class":3784},[3751,9433,6146],{"class":3761},[3751,9435,9436,9438,9440],{"class":3753,"line":6372},[3751,9437,8083],{"class":3811},[3751,9439,6662],{"class":3784},[3751,9441,6146],{"class":3761},[3751,9443,9444],{"class":3753,"line":6377},[3751,9445,6198],{"class":3761},[3751,9447,9448,9450,9452,9454,9457,9459,9461,9463,9465,9467,9469],{"class":3753,"line":6385},[3751,9449,7999],{"class":3811},[3751,9451,5176],{"class":3761},[3751,9453,7002],{"class":3811},[3751,9455,9456],{"class":7005}," 26",[3751,9458,3640],{"class":3761},[3751,9460,6685],{"class":3811},[3751,9462,8013],{"class":3784},[3751,9464,3640],{"class":3761},[3751,9466,6693],{"class":3811},[3751,9468,6696],{"class":3784},[3751,9470,6665],{"class":3761},[3751,9472,9473,9476,9478,9480,9482,9484,9486,9488,9490,9492,9494],{"class":3753,"line":6390},[3751,9474,9475],{"class":3811},"  meta:",[3751,9477,5176],{"class":3761},[3751,9479,7002],{"class":3811},[3751,9481,8123],{"class":7005},[3751,9483,3640],{"class":3761},[3751,9485,6693],{"class":3811},[3751,9487,6959],{"class":3784},[3751,9489,3640],{"class":3761},[3751,9491,6685],{"class":3811},[3751,9493,6688],{"class":3784},[3751,9495,6665],{"class":3761},[3751,9497,9498,9500,9502,9504,9506,9508,9510,9512],{"class":3753,"line":6395},[3751,9499,8026],{"class":3811},[3751,9501,5176],{"class":3761},[3751,9503,8031],{"class":3811},[3751,9505,7961],{"class":7005},[3751,9507,3640],{"class":3761},[3751,9509,6693],{"class":3811},[3751,9511,6959],{"class":3784},[3751,9513,6665],{"class":3761},[3751,9515,9516,9518,9520,9522,9524,9526,9528,9530,9532,9534,9536,9538,9540,9542],{"class":3753,"line":6405},[3751,9517,8670],{"class":3811},[3751,9519,5176],{"class":3761},[3751,9521,8031],{"class":3811},[3751,9523,7006],{"class":7005},[3751,9525,3640],{"class":3761},[3751,9527,7002],{"class":3811},[3751,9529,7951],{"class":7005},[3751,9531,3640],{"class":3761},[3751,9533,8681],{"class":3811},[3751,9535,8006],{"class":7005},[3751,9537,3640],{"class":3761},[3751,9539,6693],{"class":3811},[3751,9541,8690],{"class":3784},[3751,9543,6665],{"class":3761},[3751,9545,9546],{"class":3753,"line":6415},[3751,9547,8240],{"class":3761},[3512,9549,9550,9552,9553,9555,9556,9559],{},[3521,9551,8808],{}," читає ",[3521,9554,6476],{}," з шляху ",[3521,9557,9558],{},"\u002Fcity\u002Fkyiv",". Глибше про params і deep links — у статті 13; тут мінімум, щоб Stack мав сенс.",[4105,9561,9563,9564],{"id":9562},"крок-8-прибрати-зайве-з-шаблону-tabs","Крок 8. Прибрати зайве з шаблону ",[3521,9565,9566],{},"tabs",[3586,9568,9569,9576,9587],{},[3549,9570,9571,9572,9575],{},"Видаліть ",[3521,9573,9574],{},"app\u002F(tabs)\u002Fexplore.tsx"," (або інший другий tab шаблону), якщо він є.",[3549,9577,5654,9578,9581,9582,3630,9584,9586],{},[3521,9579,9580],{},"(tabs)\u002F_layout.tsx"," мають лишитись лише ",[3521,9583,3660],{},[3521,9585,4957],{}," (як у нашому файлі).",[3549,9588,9589],{},"Видаліть невикористані компоненти\u002Fассети шаблону за бажанням.",[3512,9591,9592,9593,9595,9596,5658],{},"Опційно в ",[3521,9594,5657],{}," всередині ",[3521,9597,9598],{},"expo",[3742,9600,9601],{"className":5661,"code":5662,"language":5663,"meta":3747,"style":3747},[3521,9602,9603,9609,9617],{"__ignoreMap":3747},[3751,9604,9605,9607],{"class":3753,"line":3754},[3751,9606,5670],{"class":3784},[3751,9608,5673],{"class":3761},[3751,9610,9611,9613,9615],{"class":3753,"line":3802},[3751,9612,5679],{"class":5678},[3751,9614,4806],{"class":3761},[3751,9616,5684],{"class":3757},[3751,9618,9619],{"class":3753,"line":3870},[3751,9620,4605],{"class":3761},[4105,9622,9624],{"id":9623},"крок-9-перевірка","Крок 9. Перевірка",[5922,9626,9627,9631,9636,9640,9643,9647,9650,9654,9660,9664],{},[4105,9628,9630],{"id":9629},"_1-старт","1. Старт",[3512,9632,9633,9635],{},[3521,9634,5699],{}," → Expo Go \u002F симулятор.",[4105,9637,9639],{"id":9638},"_2-вкладки","2. Вкладки",[3512,9641,9642],{},"Внизу «Список» і «Про нас»; перемикання змінює екран.",[4105,9644,9646],{"id":9645},"_3-деталі","3. Деталі",[3512,9648,9649],{},"Тап «Львів» → опис; header зі стрілкою \u002F «Назад»; жест назад на iOS\u002FAndroid.",[4105,9651,9653],{"id":9652},"_4-про-нас","4. Про нас",[3512,9655,9656,9657,9659],{},"Текст і ",[3521,9658,3629],{}," «До списку міст».",[4105,9661,9663],{"id":9662},"_5-невідомий-id","5. Невідомий id",[3512,9665,9666,9667,9670],{},"Якщо відкрити ",[3521,9668,9669],{},"\u002Fcity\u002Fxxx"," (через Link у коді тимчасово) — «Місто не знайдено».",[4105,9672,9674],{"id":9673},"критерій-готово","Критерій «готово»",[3546,9676,9679,9690,9700,9706,9712,9721],{"className":9677},[9678],"contains-task-list",[3549,9680,9683,3654,9687],{"className":9681},[9682],"task-list-item",[9684,9685],"input",{"disabled":5212,"type":9686},"checkbox",[3521,9688,9689],{},"create-expo-app -t tabs",[3549,9691,9693,9695,9696,9699],{"className":9692},[9682],[9684,9694],{"disabled":5212,"type":9686}," Усі файли кроків 2–7 з ",[3516,9697,9698],{},"повним"," кодом (не фрагменти «допишіть»)",[3549,9701,9703,9705],{"className":9702},[9682],[9684,9704],{"disabled":5212,"type":9686}," Дві вкладки українською",[3549,9707,9709,9711],{"className":9708},[9682],[9684,9710],{"disabled":5212,"type":9686}," Список → деталі → назад",[3549,9713,9715,9717,9718,9720],{"className":9714},[9682],[9684,9716],{"disabled":5212,"type":9686}," Немає ",[3521,9719,5770],{}," замість Router",[3549,9722,9724,9726,9727],{"className":9723},[9682],[9684,9725],{"disabled":5212,"type":9686}," Дані в ",[3521,9728,6016],{},[4105,9730,9732],{"id":9731},"карта-ідей-курсу-файли","Карта ідей курсу → файли",[3954,9734,9735,9745],{},[3957,9736,9737],{},[3960,9738,9739,9742],{},[3963,9740,9741],{},"Ідея",[3963,9743,9744],{},"Де",[3973,9746,9747,9757,9765,9778,9785,9795],{},[3960,9748,9749,9752],{},[3978,9750,9751],{},"File-based routing",[3978,9753,9754],{},[3521,9755,9756],{},"app\u002F**",[3960,9758,9759,9761],{},[3978,9760,3616],{},[3978,9762,9763],{},[3521,9764,9580],{},[3960,9766,9767,9770],{},[3978,9768,9769],{},"Stack + back",[3978,9771,9772,9773,5356,9775],{},"кореневий ",[3521,9774,4072],{},[3521,9776,9777],{},"city\u002F[id]",[3960,9779,9780,9782],{},[3978,9781,3629],{},[3978,9783,9784],{},"список, about",[3960,9786,9787,9792],{},[3978,9788,9789,9790],{},"Група ",[3521,9791,3657],{},[3978,9793,9794],{},"не в URL",[3960,9796,9797,9800],{},[3978,9798,9799],{},"Динамічний сегмент",[3978,9801,9802,5356,9804],{},[3521,9803,5611],{},[3521,9805,8808],{},[3725,9807],{},[3507,9809,9811],{"id":9810},"nomad-file-based-navigation-structure","Nomad: file-based navigation structure",[3512,9813,9814],{},[4179,9815],{"alt":9816,"className":9817,"src":9818},"Nomad: вкладки → форма → назад зі списком",[4183],"\u002Fimages\u002Freact-native\u002Fexpo-router-basics\u002F05.svg",[4105,9820,9822],{"id":9821},"навіщо-користувачу","Навіщо користувачу",[3512,9824,9825,9826,5658],{},"Застосунок перестає бути «одним довгим екраном». З’являються ",[3516,9827,9828],{},"розділи",[3546,9830,9831,9837,9843],{},[3549,9832,9833,9836],{},[3516,9834,9835],{},"Поїздки"," — стрічка, тема, sticky «Нова поїздка» (як раніше);",[3549,9838,9839,9842],{},[3516,9840,9841],{},"Місця"," — усі mock-місця сіткою;",[3549,9844,9845,9848,9849,9851],{},[3516,9846,9847],{},"Ще"," — опис, тема, приклад ",[3521,9850,3629],{}," на форму.",[3512,9853,9854,9855,9858],{},"Форма створення — ",[3516,9856,9857],{},"окремий stack-екран"," із системним заголовком і «назад», без дубльованого UI «← Назад» у контенті.",[4105,9860,9862],{"id":9861},"нитка-проєкту","Нитка проєкту",[3512,9864,9865],{},[3516,9866,9867],{},"Уже є (і зберігаємо):",[3546,9869,9870,9873,9876,9879],{},[3549,9871,9872],{},"ThemeProvider, чіпи теми (на вкладці Поїздки; також на «Ще»);",[3549,9874,9875],{},"FlashList поїздок, pull-to-refresh, TripCard, місця в header списку;",[3549,9877,9878],{},"CreateTripForm (RHF+Zod, усі контроли);",[3549,9880,9881],{},"TripsProvider, addTrip, картки з мітками.",[3512,9883,9884],{},[3516,9885,9886],{},"Додаємо \u002F змінюємо:",[3954,9888,9889,9899],{},[3957,9890,9891],{},[3960,9892,9893,9896],{},[3963,9894,9895],{},"Зміна",[3963,9897,9898],{},"Навіщо",[3973,9900,9901,9912,9925,9938,9948,9958,9967],{},[3960,9902,9903,9909],{},[3978,9904,9905,9908],{},[3521,9906,9907],{},"app\u002F(tabs)\u002F"," + Tabs layout",[3978,9910,9911],{},"три головні розділи",[3960,9913,9914,9920],{},[3978,9915,9916,9917],{},"перенесення home → ",[3521,9918,9919],{},"(tabs)\u002Findex.tsx",[3978,9921,3986,9922,9924],{},[3521,9923,4656],{}," у вкладках",[3960,9926,9927,9935],{},[3978,9928,9929,3640,9932],{},[3521,9930,9931],{},"places.tsx",[3521,9933,9934],{},"about.tsx",[3978,9936,9937],{},"нові вкладки",[3960,9939,9940,9945],{},[3978,9941,9942,9943],{},"кореневий Stack з options для ",[3521,9944,4615],{},[3978,9946,9947],{},"header + back",[3960,9949,9950,9955],{},[3978,9951,9952],{},[3521,9953,9954],{},"typedRoutes: true",[3978,9956,9957],{},"підтримка типізації шляхів",[3960,9959,9960,9964],{},[3978,9961,9962],{},[3521,9963,5010],{},[3978,9965,9966],{},"іконки tab bar",[3960,9968,9969,9974],{},[3978,9970,9971,9972],{},"спрощення ",[3521,9973,3523],{},[3978,9975,9976],{},"без свого back-рядка",[4105,9978,9980],{"id":9979},"встановлення-іконок-якщо-збираєте-вручну","Встановлення іконок (якщо збираєте вручну)",[3742,9982,9984],{"className":5930,"code":9983,"language":5932,"meta":3747,"style":3747},"cd \u002Fpath\u002Fto\u002Fnomad\nnpx expo install @expo\u002Fvector-icons\n# за peer-конфліктів npm: npm install @expo\u002Fvector-icons --legacy-peer-deps\n",[3521,9985,9986,9993,10003],{"__ignoreMap":3747},[3751,9987,9988,9990],{"class":3753,"line":3754},[3751,9989,5956],{"class":3777},[3751,9991,9992],{"class":3784}," \u002Fpath\u002Fto\u002Fnomad\n",[3751,9994,9995,9997,9999,10001],{"class":3753,"line":3802},[3751,9996,5939],{"class":3777},[3751,9998,5985],{"class":3784},[3751,10000,5988],{"class":3784},[3751,10002,5991],{"class":3784},[3751,10004,10005],{"class":3753,"line":3870},[3751,10006,10007],{"class":5471},"# за peer-конфліктів npm: npm install @expo\u002Fvector-icons --legacy-peer-deps\n",[4105,10009,10011],{"id":10010},"повний-знімок-проєкту","Повний знімок проєкту",[10013,10014,10016,10401,10712,10812,11291,11850,15032,16021,17643,17953,18198,18510,19090,19681,20267,21095,21663,26074,28260,29113,30743,31477,31842,32225,33118,33258,33853,34575,34873,35797],"code-tree",{"title":10015},"Nomad після file-based navigation (tabs + create-trip)",[3742,10017,10019],{"className":5661,"code":10018,"filename":5964,"language":5663,"meta":3747,"style":3747},"{\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",[3521,10020,10021,10025,10037,10049,10061,10068,10080,10092,10104,10114,10118,10125,10137,10149,10161,10173,10185,10197,10209,10221,10233,10245,10257,10269,10281,10293,10305,10317,10329,10339,10343,10350,10362,10374,10384,10388,10397],{"__ignoreMap":3747},[3751,10022,10023],{"class":3753,"line":3754},[3751,10024,6649],{"class":3761},[3751,10026,10027,10030,10032,10035],{"class":3753,"line":3802},[3751,10028,10029],{"class":5678},"  \"name\"",[3751,10031,4806],{"class":3761},[3751,10033,10034],{"class":3784},"\"nomad\"",[3751,10036,6146],{"class":3761},[3751,10038,10039,10042,10044,10047],{"class":3753,"line":3870},[3751,10040,10041],{"class":5678},"  \"version\"",[3751,10043,4806],{"class":3761},[3751,10045,10046],{"class":3784},"\"1.0.0\"",[3751,10048,6146],{"class":3761},[3751,10050,10051,10054,10056,10059],{"class":3753,"line":4471},[3751,10052,10053],{"class":5678},"  \"main\"",[3751,10055,4806],{"class":3761},[3751,10057,10058],{"class":3784},"\"expo-router\u002Fentry\"",[3751,10060,6146],{"class":3761},[3751,10062,10063,10066],{"class":3753,"line":4481},[3751,10064,10065],{"class":5678},"  \"scripts\"",[3751,10067,5673],{"class":3761},[3751,10069,10070,10073,10075,10078],{"class":3753,"line":4491},[3751,10071,10072],{"class":5678},"    \"start\"",[3751,10074,4806],{"class":3761},[3751,10076,10077],{"class":3784},"\"expo start\"",[3751,10079,6146],{"class":3761},[3751,10081,10082,10085,10087,10090],{"class":3753,"line":4532},[3751,10083,10084],{"class":5678},"    \"android\"",[3751,10086,4806],{"class":3761},[3751,10088,10089],{"class":3784},"\"expo start --android\"",[3751,10091,6146],{"class":3761},[3751,10093,10094,10097,10099,10102],{"class":3753,"line":4566},[3751,10095,10096],{"class":5678},"    \"ios\"",[3751,10098,4806],{"class":3761},[3751,10100,10101],{"class":3784},"\"expo start --ios\"",[3751,10103,6146],{"class":3761},[3751,10105,10106,10109,10111],{"class":3753,"line":4576},[3751,10107,10108],{"class":5678},"    \"web\"",[3751,10110,4806],{"class":3761},[3751,10112,10113],{"class":3784},"\"expo start --web\"\n",[3751,10115,10116],{"class":3753,"line":4586},[3751,10117,6198],{"class":3761},[3751,10119,10120,10123],{"class":3753,"line":4596},[3751,10121,10122],{"class":5678},"  \"dependencies\"",[3751,10124,5673],{"class":3761},[3751,10126,10127,10130,10132,10135],{"class":3753,"line":4602},[3751,10128,10129],{"class":5678},"    \"@expo\u002Fvector-icons\"",[3751,10131,4806],{"class":3761},[3751,10133,10134],{"class":3784},"\"^15.1.1\"",[3751,10136,6146],{"class":3761},[3751,10138,10139,10142,10144,10147],{"class":3753,"line":6159},[3751,10140,10141],{"class":5678},"    \"@hookform\u002Fresolvers\"",[3751,10143,4806],{"class":3761},[3751,10145,10146],{"class":3784},"\"^5.7.1\"",[3751,10148,6146],{"class":3761},[3751,10150,10151,10154,10156,10159],{"class":3753,"line":6170},[3751,10152,10153],{"class":5678},"    \"@react-native-community\u002Fcheckbox\"",[3751,10155,4806],{"class":3761},[3751,10157,10158],{"class":3784},"\"^0.6.0\"",[3751,10160,6146],{"class":3761},[3751,10162,10163,10166,10168,10171],{"class":3753,"line":6181},[3751,10164,10165],{"class":5678},"    \"@react-native-community\u002Fdatetimepicker\"",[3751,10167,4806],{"class":3761},[3751,10169,10170],{"class":3784},"\"8.4.4\"",[3751,10172,6146],{"class":3761},[3751,10174,10175,10178,10180,10183],{"class":3753,"line":6187},[3751,10176,10177],{"class":5678},"    \"@react-native-community\u002Fslider\"",[3751,10179,4806],{"class":3761},[3751,10181,10182],{"class":3784},"\"5.0.1\"",[3751,10184,6146],{"class":3761},[3751,10186,10187,10190,10192,10195],{"class":3753,"line":6195},[3751,10188,10189],{"class":5678},"    \"@react-native-picker\u002Fpicker\"",[3751,10191,4806],{"class":3761},[3751,10193,10194],{"class":3784},"\"2.11.1\"",[3751,10196,6146],{"class":3761},[3751,10198,10199,10202,10204,10207],{"class":3753,"line":6201},[3751,10200,10201],{"class":5678},"    \"@shopify\u002Fflash-list\"",[3751,10203,4806],{"class":3761},[3751,10205,10206],{"class":3784},"\"^2.3.2\"",[3751,10208,6146],{"class":3761},[3751,10210,10211,10214,10216,10219],{"class":3753,"line":6206},[3751,10212,10213],{"class":5678},"    \"expo\"",[3751,10215,4806],{"class":3761},[3751,10217,10218],{"class":3784},"\"~54.0.35\"",[3751,10220,6146],{"class":3761},[3751,10222,10223,10226,10228,10231],{"class":3753,"line":6216},[3751,10224,10225],{"class":5678},"    \"expo-constants\"",[3751,10227,4806],{"class":3761},[3751,10229,10230],{"class":3784},"\"~18.0.13\"",[3751,10232,6146],{"class":3761},[3751,10234,10235,10238,10240,10243],{"class":3753,"line":6226},[3751,10236,10237],{"class":5678},"    \"expo-linking\"",[3751,10239,4806],{"class":3761},[3751,10241,10242],{"class":3784},"\"~8.0.12\"",[3751,10244,6146],{"class":3761},[3751,10246,10247,10250,10252,10255],{"class":3753,"line":6236},[3751,10248,10249],{"class":5678},"    \"expo-router\"",[3751,10251,4806],{"class":3761},[3751,10253,10254],{"class":3784},"\"~6.0.24\"",[3751,10256,6146],{"class":3761},[3751,10258,10259,10262,10264,10267],{"class":3753,"line":6246},[3751,10260,10261],{"class":5678},"    \"expo-status-bar\"",[3751,10263,4806],{"class":3761},[3751,10265,10266],{"class":3784},"\"~3.0.9\"",[3751,10268,6146],{"class":3761},[3751,10270,10271,10274,10276,10279],{"class":3753,"line":6251},[3751,10272,10273],{"class":5678},"    \"react\"",[3751,10275,4806],{"class":3761},[3751,10277,10278],{"class":3784},"\"19.1.0\"",[3751,10280,6146],{"class":3761},[3751,10282,10283,10286,10288,10291],{"class":3753,"line":6259},[3751,10284,10285],{"class":5678},"    \"react-hook-form\"",[3751,10287,4806],{"class":3761},[3751,10289,10290],{"class":3784},"\"^7.84.0\"",[3751,10292,6146],{"class":3761},[3751,10294,10295,10298,10300,10303],{"class":3753,"line":6264},[3751,10296,10297],{"class":5678},"    \"react-native\"",[3751,10299,4806],{"class":3761},[3751,10301,10302],{"class":3784},"\"0.81.5\"",[3751,10304,6146],{"class":3761},[3751,10306,10307,10310,10312,10315],{"class":3753,"line":6269},[3751,10308,10309],{"class":5678},"    \"react-native-safe-area-context\"",[3751,10311,4806],{"class":3761},[3751,10313,10314],{"class":3784},"\"~5.6.0\"",[3751,10316,6146],{"class":3761},[3751,10318,10319,10322,10324,10327],{"class":3753,"line":6279},[3751,10320,10321],{"class":5678},"    \"react-native-screens\"",[3751,10323,4806],{"class":3761},[3751,10325,10326],{"class":3784},"\"~4.16.0\"",[3751,10328,6146],{"class":3761},[3751,10330,10331,10334,10336],{"class":3753,"line":6289},[3751,10332,10333],{"class":5678},"    \"zod\"",[3751,10335,4806],{"class":3761},[3751,10337,10338],{"class":3784},"\"^4.4.3\"\n",[3751,10340,10341],{"class":3753,"line":6299},[3751,10342,6198],{"class":3761},[3751,10344,10345,10348],{"class":3753,"line":6309},[3751,10346,10347],{"class":5678},"  \"devDependencies\"",[3751,10349,5673],{"class":3761},[3751,10351,10352,10355,10357,10360],{"class":3753,"line":6314},[3751,10353,10354],{"class":5678},"    \"@expo\u002Fngrok\"",[3751,10356,4806],{"class":3761},[3751,10358,10359],{"class":3784},"\"^4.1.3\"",[3751,10361,6146],{"class":3761},[3751,10363,10364,10367,10369,10372],{"class":3753,"line":6322},[3751,10365,10366],{"class":5678},"    \"@types\u002Freact\"",[3751,10368,4806],{"class":3761},[3751,10370,10371],{"class":3784},"\"~19.1.0\"",[3751,10373,6146],{"class":3761},[3751,10375,10376,10379,10381],{"class":3753,"line":6327},[3751,10377,10378],{"class":5678},"    \"typescript\"",[3751,10380,4806],{"class":3761},[3751,10382,10383],{"class":3784},"\"~5.9.2\"\n",[3751,10385,10386],{"class":3753,"line":6332},[3751,10387,6198],{"class":3761},[3751,10389,10390,10393,10395],{"class":3753,"line":6342},[3751,10391,10392],{"class":5678},"  \"private\"",[3751,10394,4806],{"class":3761},[3751,10396,5684],{"class":3757},[3751,10398,10399],{"class":3753,"line":6352},[3751,10400,4605],{"class":3761},[3742,10402,10404],{"className":5661,"code":10403,"filename":5657,"language":5663,"meta":3747,"style":3747},"{\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",[3521,10405,10406,10410,10417,10429,10440,10451,10463,10475,10487,10498,10509,10516,10528,10540,10550,10555,10561,10570,10574,10580,10587,10599,10608,10613,10624,10634,10638,10644,10654,10658,10666,10673,10678,10683,10690,10699,10704,10708],{"__ignoreMap":3747},[3751,10407,10408],{"class":3753,"line":3754},[3751,10409,6649],{"class":3761},[3751,10411,10412,10415],{"class":3753,"line":3802},[3751,10413,10414],{"class":5678},"  \"expo\"",[3751,10416,5673],{"class":3761},[3751,10418,10419,10422,10424,10427],{"class":3753,"line":3870},[3751,10420,10421],{"class":5678},"    \"name\"",[3751,10423,4806],{"class":3761},[3751,10425,10426],{"class":3784},"\"Nomad\"",[3751,10428,6146],{"class":3761},[3751,10430,10431,10434,10436,10438],{"class":3753,"line":4471},[3751,10432,10433],{"class":5678},"    \"slug\"",[3751,10435,4806],{"class":3761},[3751,10437,10034],{"class":3784},[3751,10439,6146],{"class":3761},[3751,10441,10442,10445,10447,10449],{"class":3753,"line":4481},[3751,10443,10444],{"class":5678},"    \"version\"",[3751,10446,4806],{"class":3761},[3751,10448,10046],{"class":3784},[3751,10450,6146],{"class":3761},[3751,10452,10453,10456,10458,10461],{"class":3753,"line":4491},[3751,10454,10455],{"class":5678},"    \"orientation\"",[3751,10457,4806],{"class":3761},[3751,10459,10460],{"class":3784},"\"portrait\"",[3751,10462,6146],{"class":3761},[3751,10464,10465,10468,10470,10473],{"class":3753,"line":4532},[3751,10466,10467],{"class":5678},"    \"icon\"",[3751,10469,4806],{"class":3761},[3751,10471,10472],{"class":3784},"\".\u002Fassets\u002Ficon.png\"",[3751,10474,6146],{"class":3761},[3751,10476,10477,10480,10482,10485],{"class":3753,"line":4566},[3751,10478,10479],{"class":5678},"    \"userInterfaceStyle\"",[3751,10481,4806],{"class":3761},[3751,10483,10484],{"class":3784},"\"light\"",[3751,10486,6146],{"class":3761},[3751,10488,10489,10492,10494,10496],{"class":3753,"line":4576},[3751,10490,10491],{"class":5678},"    \"scheme\"",[3751,10493,4806],{"class":3761},[3751,10495,10034],{"class":3784},[3751,10497,6146],{"class":3761},[3751,10499,10500,10503,10505,10507],{"class":3753,"line":4586},[3751,10501,10502],{"class":5678},"    \"newArchEnabled\"",[3751,10504,4806],{"class":3761},[3751,10506,4848],{"class":3757},[3751,10508,6146],{"class":3761},[3751,10510,10511,10514],{"class":3753,"line":4596},[3751,10512,10513],{"class":5678},"    \"splash\"",[3751,10515,5673],{"class":3761},[3751,10517,10518,10521,10523,10526],{"class":3753,"line":4602},[3751,10519,10520],{"class":5678},"      \"image\"",[3751,10522,4806],{"class":3761},[3751,10524,10525],{"class":3784},"\".\u002Fassets\u002Fsplash-icon.png\"",[3751,10527,6146],{"class":3761},[3751,10529,10530,10533,10535,10538],{"class":3753,"line":6159},[3751,10531,10532],{"class":5678},"      \"resizeMode\"",[3751,10534,4806],{"class":3761},[3751,10536,10537],{"class":3784},"\"contain\"",[3751,10539,6146],{"class":3761},[3751,10541,10542,10545,10547],{"class":3753,"line":6170},[3751,10543,10544],{"class":5678},"      \"backgroundColor\"",[3751,10546,4806],{"class":3761},[3751,10548,10549],{"class":3784},"\"#ffffff\"\n",[3751,10551,10552],{"class":3753,"line":6181},[3751,10553,10554],{"class":3761},"    },\n",[3751,10556,10557,10559],{"class":3753,"line":6187},[3751,10558,10096],{"class":5678},[3751,10560,5673],{"class":3761},[3751,10562,10563,10566,10568],{"class":3753,"line":6195},[3751,10564,10565],{"class":5678},"      \"supportsTablet\"",[3751,10567,4806],{"class":3761},[3751,10569,5684],{"class":3757},[3751,10571,10572],{"class":3753,"line":6201},[3751,10573,10554],{"class":3761},[3751,10575,10576,10578],{"class":3753,"line":6206},[3751,10577,10084],{"class":5678},[3751,10579,5673],{"class":3761},[3751,10581,10582,10585],{"class":3753,"line":6216},[3751,10583,10584],{"class":5678},"      \"adaptiveIcon\"",[3751,10586,5673],{"class":3761},[3751,10588,10589,10592,10594,10597],{"class":3753,"line":6226},[3751,10590,10591],{"class":5678},"        \"foregroundImage\"",[3751,10593,4806],{"class":3761},[3751,10595,10596],{"class":3784},"\".\u002Fassets\u002Fadaptive-icon.png\"",[3751,10598,6146],{"class":3761},[3751,10600,10601,10604,10606],{"class":3753,"line":6236},[3751,10602,10603],{"class":5678},"        \"backgroundColor\"",[3751,10605,4806],{"class":3761},[3751,10607,10549],{"class":3784},[3751,10609,10610],{"class":3753,"line":6246},[3751,10611,10612],{"class":3761},"      },\n",[3751,10614,10615,10618,10620,10622],{"class":3753,"line":6251},[3751,10616,10617],{"class":5678},"      \"edgeToEdgeEnabled\"",[3751,10619,4806],{"class":3761},[3751,10621,4848],{"class":3757},[3751,10623,6146],{"class":3761},[3751,10625,10626,10629,10631],{"class":3753,"line":6259},[3751,10627,10628],{"class":5678},"      \"predictiveBackGestureEnabled\"",[3751,10630,4806],{"class":3761},[3751,10632,10633],{"class":3757},"false\n",[3751,10635,10636],{"class":3753,"line":6264},[3751,10637,10554],{"class":3761},[3751,10639,10640,10642],{"class":3753,"line":6269},[3751,10641,10108],{"class":5678},[3751,10643,5673],{"class":3761},[3751,10645,10646,10649,10651],{"class":3753,"line":6279},[3751,10647,10648],{"class":5678},"      \"favicon\"",[3751,10650,4806],{"class":3761},[3751,10652,10653],{"class":3784},"\".\u002Fassets\u002Ffavicon.png\"\n",[3751,10655,10656],{"class":3753,"line":6289},[3751,10657,10554],{"class":3761},[3751,10659,10660,10663],{"class":3753,"line":6299},[3751,10661,10662],{"class":5678},"    \"plugins\"",[3751,10664,10665],{"class":3761},": [\n",[3751,10667,10668,10671],{"class":3753,"line":6309},[3751,10669,10670],{"class":3784},"      \"expo-router\"",[3751,10672,6146],{"class":3761},[3751,10674,10675],{"class":3753,"line":6314},[3751,10676,10677],{"class":3784},"      \"@react-native-community\u002Fdatetimepicker\"\n",[3751,10679,10680],{"class":3753,"line":6322},[3751,10681,10682],{"class":3761},"    ],\n",[3751,10684,10685,10688],{"class":3753,"line":6327},[3751,10686,10687],{"class":5678},"    \"experiments\"",[3751,10689,5673],{"class":3761},[3751,10691,10692,10695,10697],{"class":3753,"line":6332},[3751,10693,10694],{"class":5678},"      \"typedRoutes\"",[3751,10696,4806],{"class":3761},[3751,10698,5684],{"class":3757},[3751,10700,10701],{"class":3753,"line":6342},[3751,10702,10703],{"class":3761},"    }\n",[3751,10705,10706],{"class":3753,"line":6352},[3751,10707,9112],{"class":3761},[3751,10709,10710],{"class":3753,"line":6362},[3751,10711,4605],{"class":3761},[3742,10713,10716],{"className":5661,"code":10714,"filename":10715,"language":5663,"meta":3747,"style":3747},"{\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",[3521,10717,10718,10722,10734,10741,10752,10759,10766,10771,10776,10780,10784,10791,10798,10803,10808],{"__ignoreMap":3747},[3751,10719,10720],{"class":3753,"line":3754},[3751,10721,6649],{"class":3761},[3751,10723,10724,10727,10729,10732],{"class":3753,"line":3802},[3751,10725,10726],{"class":5678},"  \"extends\"",[3751,10728,4806],{"class":3761},[3751,10730,10731],{"class":3784},"\"expo\u002Ftsconfig.base\"",[3751,10733,6146],{"class":3761},[3751,10735,10736,10739],{"class":3753,"line":3870},[3751,10737,10738],{"class":5678},"  \"compilerOptions\"",[3751,10740,5673],{"class":3761},[3751,10742,10743,10746,10748,10750],{"class":3753,"line":4471},[3751,10744,10745],{"class":5678},"    \"strict\"",[3751,10747,4806],{"class":3761},[3751,10749,4848],{"class":3757},[3751,10751,6146],{"class":3761},[3751,10753,10754,10757],{"class":3753,"line":4481},[3751,10755,10756],{"class":5678},"    \"paths\"",[3751,10758,5673],{"class":3761},[3751,10760,10761,10764],{"class":3753,"line":4491},[3751,10762,10763],{"class":5678},"      \"@\u002F*\"",[3751,10765,10665],{"class":3761},[3751,10767,10768],{"class":3753,"line":4532},[3751,10769,10770],{"class":3784},"        \".\u002Fsrc\u002F*\"\n",[3751,10772,10773],{"class":3753,"line":4566},[3751,10774,10775],{"class":3761},"      ]\n",[3751,10777,10778],{"class":3753,"line":4576},[3751,10779,10703],{"class":3761},[3751,10781,10782],{"class":3753,"line":4586},[3751,10783,6198],{"class":3761},[3751,10785,10786,10789],{"class":3753,"line":4596},[3751,10787,10788],{"class":5678},"  \"include\"",[3751,10790,10665],{"class":3761},[3751,10792,10793,10796],{"class":3753,"line":4602},[3751,10794,10795],{"class":3784},"    \"**\u002F*.ts\"",[3751,10797,6146],{"class":3761},[3751,10799,10800],{"class":3753,"line":6159},[3751,10801,10802],{"class":3784},"    \"**\u002F*.tsx\"\n",[3751,10804,10805],{"class":3753,"line":6170},[3751,10806,10807],{"class":3761},"  ]\n",[3751,10809,10810],{"class":3753,"line":6181},[3751,10811,4605],{"class":3761},[3742,10813,10815],{"className":3744,"code":10814,"filename":6540,"language":3746,"meta":3747,"style":3747},"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 * Кореневий layout застосунку.\n * Stack: (tabs) — нижні вкладки; create-trip — окремий екран «поверх» вкладок.\n *\u002F\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: 'card',\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",[3521,10816,10817,10833,10849,10853,10870,10892,10896,10901,10906,10911,10916,10926,10946,10950,10956,10960,10995,11001,11011,11029,11045,11058,11080,11089,11095,11099,11129,11135,11144,11154,11164,11172,11182,11190,11196,11200,11208,11212,11216,11220,11224,11236,11242,11250,11258,11267,11275,11283,11287],{"__ignoreMap":3747},[3751,10818,10819,10821,10823,10825,10827,10829,10831],{"class":3753,"line":3754},[3751,10820,5173],{"class":3805},[3751,10822,5176],{"class":3761},[3751,10824,3620],{"class":3811},[3751,10826,5181],{"class":3761},[3751,10828,5184],{"class":3805},[3751,10830,5187],{"class":3784},[3751,10832,3867],{"class":3761},[3751,10834,10835,10837,10839,10841,10843,10845,10847],{"class":3753,"line":3802},[3751,10836,5173],{"class":3805},[3751,10838,5176],{"class":3761},[3751,10840,6579],{"class":3811},[3751,10842,5181],{"class":3761},[3751,10844,5184],{"class":3805},[3751,10846,6586],{"class":3784},[3751,10848,3867],{"class":3761},[3751,10850,10851],{"class":3753,"line":3870},[3751,10852,5213],{"emptyLinePlaceholder":5212},[3751,10854,10855,10857,10859,10861,10863,10865,10868],{"class":3753,"line":4471},[3751,10856,5173],{"class":3805},[3751,10858,5176],{"class":3761},[3751,10860,4356],{"class":3811},[3751,10862,5181],{"class":3761},[3751,10864,5184],{"class":3805},[3751,10866,10867],{"class":3784}," '@\u002Ffeatures\u002Ftrips'",[3751,10869,3867],{"class":3761},[3751,10871,10872,10874,10876,10878,10880,10883,10885,10887,10890],{"class":3753,"line":4481},[3751,10873,5173],{"class":3805},[3751,10875,5176],{"class":3761},[3751,10877,4353],{"class":3811},[3751,10879,3640],{"class":3761},[3751,10881,10882],{"class":3811},"useTheme",[3751,10884,5181],{"class":3761},[3751,10886,5184],{"class":3805},[3751,10888,10889],{"class":3784}," '@\u002Fshared\u002Ftheme'",[3751,10891,3867],{"class":3761},[3751,10893,10894],{"class":3753,"line":4491},[3751,10895,5213],{"emptyLinePlaceholder":5212},[3751,10897,10898],{"class":3753,"line":4532},[3751,10899,10900],{"class":5471},"\u002F**\n",[3751,10902,10903],{"class":3753,"line":4566},[3751,10904,10905],{"class":5471}," * Кореневий layout застосунку.\n",[3751,10907,10908],{"class":3753,"line":4576},[3751,10909,10910],{"class":5471}," * Stack: (tabs) — нижні вкладки; create-trip — окремий екран «поверх» вкладок.\n",[3751,10912,10913],{"class":3753,"line":4586},[3751,10914,10915],{"class":5471}," *\u002F\n",[3751,10917,10918,10921,10924],{"class":3753,"line":4596},[3751,10919,10920],{"class":3757},"function",[3751,10922,10923],{"class":3777}," RootNavigator",[3751,10925,4450],{"class":3761},[3751,10927,10928,10930,10932,10935,10937,10940,10942,10944],{"class":3753,"line":4602},[3751,10929,8859],{"class":3757},[3751,10931,5176],{"class":3761},[3751,10933,10934],{"class":3765},"colors",[3751,10936,3640],{"class":3761},[3751,10938,10939],{"class":3765},"scheme",[3751,10941,8866],{"class":3761},[3751,10943,10882],{"class":3777},[3751,10945,5462],{"class":3761},[3751,10947,10948],{"class":3753,"line":6159},[3751,10949,5213],{"emptyLinePlaceholder":5212},[3751,10951,10952,10954],{"class":3753,"line":6170},[3751,10953,4455],{"class":3805},[3751,10955,4458],{"class":3761},[3751,10957,10958],{"class":3753,"line":6181},[3751,10959,6615],{"class":3825},[3751,10961,10962,10964,10966,10968,10970,10972,10974,10977,10980,10983,10986,10989,10991,10993],{"class":3753,"line":6187},[3751,10963,4474],{"class":3825},[3751,10965,6579],{"class":3829},[3751,10967,5301],{"class":3833},[3751,10969,3837],{"class":3761},[3751,10971,3840],{"class":3757},[3751,10973,10939],{"class":3811},[3751,10975,10976],{"class":3761}," ===",[3751,10978,10979],{"class":3784}," 'dark'",[3751,10981,10982],{"class":3761}," ?",[3751,10984,10985],{"class":3784}," 'light'",[3751,10987,10988],{"class":3761}," :",[3751,10990,10979],{"class":3784},[3751,10992,3861],{"class":3757},[3751,10994,4529],{"class":3825},[3751,10996,10997,10999],{"class":3753,"line":6195},[3751,10998,4474],{"class":3825},[3751,11000,6637],{"class":3829},[3751,11002,11003,11005,11007,11009],{"class":3753,"line":6201},[3751,11004,6642],{"class":3833},[3751,11006,3837],{"class":3761},[3751,11008,3840],{"class":3757},[3751,11010,6649],{"class":3843},[3751,11012,11013,11015,11017,11019,11022,11024,11027],{"class":3753,"line":6206},[3751,11014,6703],{"class":3811},[3751,11016,5176],{"class":3843},[3751,11018,6659],{"class":3811},[3751,11020,11021],{"class":3811}," colors",[3751,11023,3601],{"class":3843},[3751,11025,11026],{"class":3811},"background",[3751,11028,6665],{"class":3843},[3751,11030,11031,11033,11035,11037,11039,11041,11043],{"class":3753,"line":6216},[3751,11032,6654],{"class":3811},[3751,11034,5176],{"class":3843},[3751,11036,6659],{"class":3811},[3751,11038,11021],{"class":3811},[3751,11040,3601],{"class":3843},[3751,11042,11026],{"class":3811},[3751,11044,6665],{"class":3843},[3751,11046,11047,11049,11051,11053,11056],{"class":3753,"line":6226},[3751,11048,6670],{"class":3811},[3751,11050,11021],{"class":3811},[3751,11052,3601],{"class":3843},[3751,11054,11055],{"class":3811},"primary",[3751,11057,6146],{"class":3843},[3751,11059,11060,11062,11064,11066,11068,11070,11072,11074,11076,11078],{"class":3753,"line":6236},[3751,11061,6680],{"class":3811},[3751,11063,5176],{"class":3843},[3751,11065,6693],{"class":3811},[3751,11067,11021],{"class":3811},[3751,11069,3601],{"class":3843},[3751,11071,4249],{"class":3811},[3751,11073,3640],{"class":3843},[3751,11075,6685],{"class":3811},[3751,11077,6688],{"class":3784},[3751,11079,6665],{"class":3843},[3751,11081,11082,11085,11087],{"class":3753,"line":6246},[3751,11083,11084],{"class":3811},"          headerShadowVisible:",[3751,11086,4521],{"class":3757},[3751,11088,6146],{"class":3843},[3751,11090,11091,11093],{"class":3753,"line":6251},[3751,11092,6716],{"class":3843},[3751,11094,4605],{"class":3757},[3751,11096,11097],{"class":3753,"line":6259},[3751,11098,6723],{"class":3825},[3751,11100,11101,11103,11105,11107,11109,11111,11113,11115,11117,11119,11121,11123,11125,11127],{"class":3753,"line":6264},[3751,11102,4484],{"class":3825},[3751,11104,4497],{"class":3829},[3751,11106,4500],{"class":3833},[3751,11108,3837],{"class":3761},[3751,11110,4505],{"class":3784},[3751,11112,4508],{"class":3833},[3751,11114,3837],{"class":3761},[3751,11116,3840],{"class":3757},[3751,11118,4515],{"class":3843},[3751,11120,4518],{"class":3811},[3751,11122,4521],{"class":3757},[3751,11124,4524],{"class":3843},[3751,11126,3861],{"class":3757},[3751,11128,4529],{"class":3825},[3751,11130,11131,11133],{"class":3753,"line":6269},[3751,11132,4484],{"class":3825},[3751,11134,6760],{"class":3829},[3751,11136,11137,11139,11141],{"class":3753,"line":6279},[3751,11138,6765],{"class":3833},[3751,11140,3837],{"class":3761},[3751,11142,11143],{"class":3784},"\"create-trip\"\n",[3751,11145,11146,11148,11150,11152],{"class":3753,"line":6289},[3751,11147,6775],{"class":3833},[3751,11149,3837],{"class":3761},[3751,11151,3840],{"class":3757},[3751,11153,6649],{"class":3843},[3751,11155,11156,11159,11162],{"class":3753,"line":6299},[3751,11157,11158],{"class":3811},"            headerShown:",[3751,11160,11161],{"class":3757}," true",[3751,11163,6146],{"class":3843},[3751,11165,11166,11168,11170],{"class":3753,"line":6309},[3751,11167,6786],{"class":3811},[3751,11169,4557],{"class":3784},[3751,11171,6146],{"class":3843},[3751,11173,11174,11177,11180],{"class":3753,"line":6314},[3751,11175,11176],{"class":3811},"            presentation:",[3751,11178,11179],{"class":3784}," 'card'",[3751,11181,6146],{"class":3843},[3751,11183,11184,11186,11188],{"class":3753,"line":6322},[3751,11185,6796],{"class":3811},[3751,11187,6799],{"class":3784},[3751,11189,6146],{"class":3843},[3751,11191,11192,11194],{"class":3753,"line":6327},[3751,11193,6806],{"class":3843},[3751,11195,4605],{"class":3757},[3751,11197,11198],{"class":3753,"line":6332},[3751,11199,6813],{"class":3825},[3751,11201,11202,11204,11206],{"class":3753,"line":6342},[3751,11203,4579],{"class":3825},[3751,11205,3620],{"class":3829},[3751,11207,4468],{"class":3825},[3751,11209,11210],{"class":3753,"line":6352},[3751,11211,6826],{"class":3825},[3751,11213,11214],{"class":3753,"line":6362},[3751,11215,4599],{"class":3761},[3751,11217,11218],{"class":3753,"line":6372},[3751,11219,4605],{"class":3761},[3751,11221,11222],{"class":3753,"line":6377},[3751,11223,5213],{"emptyLinePlaceholder":5212},[3751,11225,11226,11228,11230,11232,11234],{"class":3753,"line":6385},[3751,11227,4438],{"class":3805},[3751,11229,4441],{"class":3805},[3751,11231,4444],{"class":3757},[3751,11233,4447],{"class":3777},[3751,11235,4450],{"class":3761},[3751,11237,11238,11240],{"class":3753,"line":6390},[3751,11239,4455],{"class":3805},[3751,11241,4458],{"class":3761},[3751,11243,11244,11246,11248],{"class":3753,"line":6395},[3751,11245,4463],{"class":3825},[3751,11247,4353],{"class":3829},[3751,11249,4468],{"class":3825},[3751,11251,11252,11254,11256],{"class":3753,"line":6405},[3751,11253,4474],{"class":3825},[3751,11255,4356],{"class":3829},[3751,11257,4468],{"class":3825},[3751,11259,11260,11262,11265],{"class":3753,"line":6415},[3751,11261,4484],{"class":3825},[3751,11263,11264],{"class":3829},"RootNavigator",[3751,11266,4529],{"class":3825},[3751,11268,11269,11271,11273],{"class":3753,"line":6425},[3751,11270,4579],{"class":3825},[3751,11272,4356],{"class":3829},[3751,11274,4468],{"class":3825},[3751,11276,11277,11279,11281],{"class":3753,"line":6435},[3751,11278,4589],{"class":3825},[3751,11280,4353],{"class":3829},[3751,11282,4468],{"class":3825},[3751,11284,11285],{"class":3753,"line":6440},[3751,11286,4599],{"class":3761},[3751,11288,11289],{"class":3753,"line":6448},[3751,11290,4605],{"class":3761},[3742,11292,11294],{"className":3744,"code":11293,"filename":6841,"language":3746,"meta":3747,"style":3747},"import { Tabs } from 'expo-router';\nimport { Ionicons } from '@expo\u002Fvector-icons';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\n\n\u002F**\n * Нижня панель вкладок (Tabs).\n * Імена name= збігаються з файлами в цій теці (index, places, about).\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=\"index\"\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 name=\"ellipsis-horizontal-circle-outline\" size={size} color={color} \u002F>\n          ),\n        }}\n      \u002F>\n    \u003C\u002FTabs>\n  );\n}\n",[3521,11295,11296,11312,11328,11332,11348,11352,11356,11361,11366,11370,11382,11396,11400,11406,11412,11422,11430,11442,11454,11460,11472,11485,11489,11495,11504,11513,11517,11523,11527,11533,11541,11551,11560,11580,11615,11619,11625,11629,11635,11644,11654,11663,11683,11718,11722,11728,11732,11738,11746,11756,11765,11785,11820,11824,11830,11834,11842,11846],{"__ignoreMap":3747},[3751,11297,11298,11300,11302,11304,11306,11308,11310],{"class":3753,"line":3754},[3751,11299,5173],{"class":3805},[3751,11301,5176],{"class":3761},[3751,11303,3616],{"class":3811},[3751,11305,5181],{"class":3761},[3751,11307,5184],{"class":3805},[3751,11309,5187],{"class":3784},[3751,11311,3867],{"class":3761},[3751,11313,11314,11316,11318,11320,11322,11324,11326],{"class":3753,"line":3802},[3751,11315,5173],{"class":3805},[3751,11317,5176],{"class":3761},[3751,11319,6883],{"class":3811},[3751,11321,5181],{"class":3761},[3751,11323,5184],{"class":3805},[3751,11325,6890],{"class":3784},[3751,11327,3867],{"class":3761},[3751,11329,11330],{"class":3753,"line":3870},[3751,11331,5213],{"emptyLinePlaceholder":5212},[3751,11333,11334,11336,11338,11340,11342,11344,11346],{"class":3753,"line":4471},[3751,11335,5173],{"class":3805},[3751,11337,5176],{"class":3761},[3751,11339,10882],{"class":3811},[3751,11341,5181],{"class":3761},[3751,11343,5184],{"class":3805},[3751,11345,10889],{"class":3784},[3751,11347,3867],{"class":3761},[3751,11349,11350],{"class":3753,"line":4481},[3751,11351,5213],{"emptyLinePlaceholder":5212},[3751,11353,11354],{"class":3753,"line":4491},[3751,11355,10900],{"class":5471},[3751,11357,11358],{"class":3753,"line":4532},[3751,11359,11360],{"class":5471}," * Нижня панель вкладок (Tabs).\n",[3751,11362,11363],{"class":3753,"line":4566},[3751,11364,11365],{"class":5471}," * Імена name= збігаються з файлами в цій теці (index, places, about).\n",[3751,11367,11368],{"class":3753,"line":4576},[3751,11369,10915],{"class":5471},[3751,11371,11372,11374,11376,11378,11380],{"class":3753,"line":4586},[3751,11373,4438],{"class":3805},[3751,11375,4441],{"class":3805},[3751,11377,4444],{"class":3757},[3751,11379,6907],{"class":3777},[3751,11381,4450],{"class":3761},[3751,11383,11384,11386,11388,11390,11392,11394],{"class":3753,"line":4596},[3751,11385,8859],{"class":3757},[3751,11387,5176],{"class":3761},[3751,11389,10934],{"class":3765},[3751,11391,8866],{"class":3761},[3751,11393,10882],{"class":3777},[3751,11395,5462],{"class":3761},[3751,11397,11398],{"class":3753,"line":4602},[3751,11399,5213],{"emptyLinePlaceholder":5212},[3751,11401,11402,11404],{"class":3753,"line":6159},[3751,11403,4455],{"class":3805},[3751,11405,4458],{"class":3761},[3751,11407,11408,11410],{"class":3753,"line":6170},[3751,11409,4463],{"class":3825},[3751,11411,6922],{"class":3829},[3751,11413,11414,11416,11418,11420],{"class":3753,"line":6181},[3751,11415,6927],{"class":3833},[3751,11417,3837],{"class":3761},[3751,11419,3840],{"class":3757},[3751,11421,6649],{"class":3843},[3751,11423,11424,11426,11428],{"class":3753,"line":6187},[3751,11425,6938],{"class":3811},[3751,11427,4521],{"class":3757},[3751,11429,6146],{"class":3843},[3751,11431,11432,11434,11436,11438,11440],{"class":3753,"line":6195},[3751,11433,6947],{"class":3811},[3751,11435,11021],{"class":3811},[3751,11437,3601],{"class":3843},[3751,11439,11055],{"class":3811},[3751,11441,6146],{"class":3843},[3751,11443,11444,11446,11448,11450,11452],{"class":3753,"line":6201},[3751,11445,6956],{"class":3811},[3751,11447,11021],{"class":3811},[3751,11449,3601],{"class":3843},[3751,11451,4980],{"class":3811},[3751,11453,6146],{"class":3843},[3751,11455,11456,11458],{"class":3753,"line":6206},[3751,11457,6966],{"class":3811},[3751,11459,6493],{"class":3843},[3751,11461,11462,11464,11466,11468,11470],{"class":3753,"line":6216},[3751,11463,6973],{"class":3811},[3751,11465,11021],{"class":3811},[3751,11467,3601],{"class":3843},[3751,11469,11026],{"class":3811},[3751,11471,6146],{"class":3843},[3751,11473,11474,11476,11478,11480,11483],{"class":3753,"line":6226},[3751,11475,6982],{"class":3811},[3751,11477,11021],{"class":3811},[3751,11479,3601],{"class":3843},[3751,11481,11482],{"class":3811},"border",[3751,11484,6146],{"class":3843},[3751,11486,11487],{"class":3753,"line":6236},[3751,11488,6992],{"class":3843},[3751,11490,11491,11493],{"class":3753,"line":6246},[3751,11492,6997],{"class":3811},[3751,11494,6493],{"class":3843},[3751,11496,11497,11500,11502],{"class":3753,"line":6251},[3751,11498,11499],{"class":3811},"          fontSize:",[3751,11501,7006],{"class":7005},[3751,11503,6146],{"class":3843},[3751,11505,11506,11509,11511],{"class":3753,"line":6259},[3751,11507,11508],{"class":3811},"          fontWeight:",[3751,11510,6688],{"class":3784},[3751,11512,6146],{"class":3843},[3751,11514,11515],{"class":3753,"line":6264},[3751,11516,6992],{"class":3843},[3751,11518,11519,11521],{"class":3753,"line":6269},[3751,11520,7019],{"class":3843},[3751,11522,4605],{"class":3757},[3751,11524,11525],{"class":3753,"line":6279},[3751,11526,7026],{"class":3825},[3751,11528,11529,11531],{"class":3753,"line":6289},[3751,11530,4474],{"class":3825},[3751,11532,7033],{"class":3829},[3751,11534,11535,11537,11539],{"class":3753,"line":6299},[3751,11536,7038],{"class":3833},[3751,11538,3837],{"class":3761},[3751,11540,7043],{"class":3784},[3751,11542,11543,11545,11547,11549],{"class":3753,"line":6309},[3751,11544,7048],{"class":3833},[3751,11546,3837],{"class":3761},[3751,11548,3840],{"class":3757},[3751,11550,6649],{"class":3843},[3751,11552,11553,11555,11558],{"class":3753,"line":6314},[3751,11554,7059],{"class":3811},[3751,11556,11557],{"class":3784}," 'Поїздки'",[3751,11559,6146],{"class":3843},[3751,11561,11562,11564,11566,11568,11570,11572,11574,11576,11578],{"class":3753,"line":6322},[3751,11563,7069],{"class":3777},[3751,11565,5658],{"class":3811},[3751,11567,7074],{"class":3843},[3751,11569,4973],{"class":3811},[3751,11571,3640],{"class":3843},[3751,11573,7081],{"class":3811},[3751,11575,7084],{"class":3843},[3751,11577,3847],{"class":3757},[3751,11579,4458],{"class":3843},[3751,11581,11582,11584,11586,11588,11590,11593,11595,11597,11599,11601,11603,11605,11607,11609,11611,11613],{"class":3753,"line":6327},[3751,11583,7093],{"class":3825},[3751,11585,6883],{"class":3829},[3751,11587,4500],{"class":3833},[3751,11589,3837],{"class":3761},[3751,11591,11592],{"class":3784},"\"map-outline\"",[3751,11594,7105],{"class":3833},[3751,11596,3837],{"class":3761},[3751,11598,3840],{"class":3757},[3751,11600,7081],{"class":3811},[3751,11602,3861],{"class":3757},[3751,11604,7116],{"class":3833},[3751,11606,3837],{"class":3761},[3751,11608,3840],{"class":3757},[3751,11610,4973],{"class":3811},[3751,11612,3861],{"class":3757},[3751,11614,4529],{"class":3825},[3751,11616,11617],{"class":3753,"line":6332},[3751,11618,7131],{"class":3843},[3751,11620,11621,11623],{"class":3753,"line":6342},[3751,11622,6716],{"class":3843},[3751,11624,4605],{"class":3757},[3751,11626,11627],{"class":3753,"line":6352},[3751,11628,7142],{"class":3825},[3751,11630,11631,11633],{"class":3753,"line":6362},[3751,11632,4474],{"class":3825},[3751,11634,7033],{"class":3829},[3751,11636,11637,11639,11641],{"class":3753,"line":6372},[3751,11638,7038],{"class":3833},[3751,11640,3837],{"class":3761},[3751,11642,11643],{"class":3784},"\"places\"\n",[3751,11645,11646,11648,11650,11652],{"class":3753,"line":6377},[3751,11647,7048],{"class":3833},[3751,11649,3837],{"class":3761},[3751,11651,3840],{"class":3757},[3751,11653,6649],{"class":3843},[3751,11655,11656,11658,11661],{"class":3753,"line":6385},[3751,11657,7059],{"class":3811},[3751,11659,11660],{"class":3784}," 'Місця'",[3751,11662,6146],{"class":3843},[3751,11664,11665,11667,11669,11671,11673,11675,11677,11679,11681],{"class":3753,"line":6390},[3751,11666,7069],{"class":3777},[3751,11668,5658],{"class":3811},[3751,11670,7074],{"class":3843},[3751,11672,4973],{"class":3811},[3751,11674,3640],{"class":3843},[3751,11676,7081],{"class":3811},[3751,11678,7084],{"class":3843},[3751,11680,3847],{"class":3757},[3751,11682,4458],{"class":3843},[3751,11684,11685,11687,11689,11691,11693,11696,11698,11700,11702,11704,11706,11708,11710,11712,11714,11716],{"class":3753,"line":6395},[3751,11686,7093],{"class":3825},[3751,11688,6883],{"class":3829},[3751,11690,4500],{"class":3833},[3751,11692,3837],{"class":3761},[3751,11694,11695],{"class":3784},"\"location-outline\"",[3751,11697,7105],{"class":3833},[3751,11699,3837],{"class":3761},[3751,11701,3840],{"class":3757},[3751,11703,7081],{"class":3811},[3751,11705,3861],{"class":3757},[3751,11707,7116],{"class":3833},[3751,11709,3837],{"class":3761},[3751,11711,3840],{"class":3757},[3751,11713,4973],{"class":3811},[3751,11715,3861],{"class":3757},[3751,11717,4529],{"class":3825},[3751,11719,11720],{"class":3753,"line":6405},[3751,11721,7131],{"class":3843},[3751,11723,11724,11726],{"class":3753,"line":6415},[3751,11725,6716],{"class":3843},[3751,11727,4605],{"class":3757},[3751,11729,11730],{"class":3753,"line":6425},[3751,11731,7142],{"class":3825},[3751,11733,11734,11736],{"class":3753,"line":6435},[3751,11735,4474],{"class":3825},[3751,11737,7033],{"class":3829},[3751,11739,11740,11742,11744],{"class":3753,"line":6440},[3751,11741,7038],{"class":3833},[3751,11743,3837],{"class":3761},[3751,11745,7157],{"class":3784},[3751,11747,11748,11750,11752,11754],{"class":3753,"line":6448},[3751,11749,7048],{"class":3833},[3751,11751,3837],{"class":3761},[3751,11753,3840],{"class":3757},[3751,11755,6649],{"class":3843},[3751,11757,11758,11760,11763],{"class":3753,"line":6453},[3751,11759,7059],{"class":3811},[3751,11761,11762],{"class":3784}," 'Ще'",[3751,11764,6146],{"class":3843},[3751,11766,11767,11769,11771,11773,11775,11777,11779,11781,11783],{"class":3753,"line":6459},[3751,11768,7069],{"class":3777},[3751,11770,5658],{"class":3811},[3751,11772,7074],{"class":3843},[3751,11774,4973],{"class":3811},[3751,11776,3640],{"class":3843},[3751,11778,7081],{"class":3811},[3751,11780,7084],{"class":3843},[3751,11782,3847],{"class":3757},[3751,11784,4458],{"class":3843},[3751,11786,11787,11789,11791,11793,11795,11798,11800,11802,11804,11806,11808,11810,11812,11814,11816,11818],{"class":3753,"line":6464},[3751,11788,7093],{"class":3825},[3751,11790,6883],{"class":3829},[3751,11792,4500],{"class":3833},[3751,11794,3837],{"class":3761},[3751,11796,11797],{"class":3784},"\"ellipsis-horizontal-circle-outline\"",[3751,11799,7105],{"class":3833},[3751,11801,3837],{"class":3761},[3751,11803,3840],{"class":3757},[3751,11805,7081],{"class":3811},[3751,11807,3861],{"class":3757},[3751,11809,7116],{"class":3833},[3751,11811,3837],{"class":3761},[3751,11813,3840],{"class":3757},[3751,11815,4973],{"class":3811},[3751,11817,3861],{"class":3757},[3751,11819,4529],{"class":3825},[3751,11821,11822],{"class":3753,"line":6496},[3751,11823,7131],{"class":3843},[3751,11825,11826,11828],{"class":3753,"line":6531},[3751,11827,6716],{"class":3843},[3751,11829,4605],{"class":3757},[3751,11831,11832],{"class":3753,"line":8184},[3751,11833,7142],{"class":3825},[3751,11835,11836,11838,11840],{"class":3753,"line":8192},[3751,11837,4589],{"class":3825},[3751,11839,3616],{"class":3829},[3751,11841,4468],{"class":3825},[3751,11843,11844],{"class":3753,"line":8202},[3751,11845,4599],{"class":3761},[3751,11847,11848],{"class":3753,"line":8212},[3751,11849,4605],{"class":3761},[3742,11851,11853],{"className":3744,"code":11852,"filename":4686,"language":3746,"meta":3747,"style":3747},"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((trip: Trip) => {\n    console.log('TODO: відкрити поїздку', trip.id, trip.title);\n  }, []);\n\n  const handleOpenPlace = useCallback((place: Place) => {\n    console.log('TODO: відкрити місце', place.id, place.name);\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",[3521,11854,11855,11877,11883,11890,11897,11904,11911,11918,11929,11947,11963,11967,11973,11980,11987,11994,12001,12011,12020,12030,12054,12081,12085,12115,12136,12153,12170,12174,12178,12191,12203,12224,12257,12282,12306,12310,12337,12370,12375,12379,12405,12436,12440,12444,12462,12473,12478,12489,12496,12507,12517,12527,12531,12545,12567,12599,12604,12614,12618,12622,12654,12658,12669,12711,12733,12763,12797,12804,12810,12824,12850,12870,12902,12910,12921,12964,12986,12992,13001,13012,13017,13051,13060,13065,13070,13080,13088,13101,13114,13120,13134,13149,13163,13168,13176,13181,13213,13219,13228,13236,13247,13265,13284,13289,13295,13304,13313,13318,13323,13330,13353,13360,13371,13383,13389,13403,13417,13431,13446,13460,13466,13474,13479,13504,13540,13566,13575,13582,13592,13604,13618,13632,13642,13649,13655,13672,13707,13718,13727,13732,13782,13805,13831,13839,13847,13865,13894,13906,13919,13925,13952,13966,13972,13980,13991,14012,14039,14045,14053,14063,14095,14114,14120,14134,14144,14154,14160,14168,14177,14186,14191,14215,14223,14237,14252,14267,14282,14297,14309,14322,14335,14348,14355,14397,14407,14415,14429,14444,14462,14484,14489,14495,14505,14510,14519,14524,14531,14542,14554,14559,14572,14585,14598,14612,14626,14631,14638,14643,14651,14662,14678,14694,14701,14706,14715,14724,14729,14734,14739,14756,14764,14773,14778,14785,14794,14799,14807,14818,14829,14834,14842,14851,14861,14870,14879,14884,14892,14901,14906,14914,14923,14928,14936,14945,14954,14959,14967,14977,14982,14990,14999,15004,15012,15022,15027],{"__ignoreMap":3747},[3751,11856,11857,11859,11861,11864,11866,11868,11870,11872,11875],{"class":3753,"line":3754},[3751,11858,5173],{"class":3805},[3751,11860,5176],{"class":3761},[3751,11862,11863],{"class":3811},"useCallback",[3751,11865,3640],{"class":3761},[3751,11867,3778],{"class":3811},[3751,11869,5181],{"class":3761},[3751,11871,5184],{"class":3805},[3751,11873,11874],{"class":3784}," 'react'",[3751,11876,3867],{"class":3761},[3751,11878,11879,11881],{"class":3753,"line":3802},[3751,11880,5173],{"class":3805},[3751,11882,6493],{"class":3761},[3751,11884,11885,11888],{"class":3753,"line":3870},[3751,11886,11887],{"class":3811},"  FlatList",[3751,11889,6146],{"class":3761},[3751,11891,11892,11895],{"class":3753,"line":4471},[3751,11893,11894],{"class":3811},"  Pressable",[3751,11896,6146],{"class":3761},[3751,11898,11899,11902],{"class":3753,"line":4481},[3751,11900,11901],{"class":3811},"  RefreshControl",[3751,11903,6146],{"class":3761},[3751,11905,11906,11909],{"class":3753,"line":4491},[3751,11907,11908],{"class":3811},"  StyleSheet",[3751,11910,6146],{"class":3761},[3751,11912,11913,11916],{"class":3753,"line":4532},[3751,11914,11915],{"class":3811},"  View",[3751,11917,6146],{"class":3761},[3751,11919,11920,11923,11925,11927],{"class":3753,"line":4566},[3751,11921,11922],{"class":3761},"} ",[3751,11924,5184],{"class":3805},[3751,11926,5205],{"class":3784},[3751,11928,3867],{"class":3761},[3751,11930,11931,11933,11935,11938,11940,11942,11945],{"class":3753,"line":4576},[3751,11932,5173],{"class":3805},[3751,11934,5176],{"class":3761},[3751,11936,11937],{"class":3811},"FlashList",[3751,11939,5181],{"class":3761},[3751,11941,5184],{"class":3805},[3751,11943,11944],{"class":3784}," '@shopify\u002Fflash-list'",[3751,11946,3867],{"class":3761},[3751,11948,11949,11951,11953,11955,11957,11959,11961],{"class":3753,"line":4586},[3751,11950,5173],{"class":3805},[3751,11952,5176],{"class":3761},[3751,11954,3635],{"class":3811},[3751,11956,5181],{"class":3761},[3751,11958,5184],{"class":3805},[3751,11960,5187],{"class":3784},[3751,11962,3867],{"class":3761},[3751,11964,11965],{"class":3753,"line":4596},[3751,11966,5213],{"emptyLinePlaceholder":5212},[3751,11968,11969,11971],{"class":3753,"line":4602},[3751,11970,5173],{"class":3805},[3751,11972,6493],{"class":3761},[3751,11974,11975,11978],{"class":3753,"line":6159},[3751,11976,11977],{"class":3811},"  mockPlaces",[3751,11979,6146],{"class":3761},[3751,11981,11982,11985],{"class":3753,"line":6170},[3751,11983,11984],{"class":3811},"  PlaceChip",[3751,11986,6146],{"class":3761},[3751,11988,11989,11992],{"class":3753,"line":6181},[3751,11990,11991],{"class":3811},"  TripCard",[3751,11993,6146],{"class":3761},[3751,11995,11996,11999],{"class":3753,"line":6187},[3751,11997,11998],{"class":3811},"  useTrips",[3751,12000,6146],{"class":3761},[3751,12002,12003,12006,12009],{"class":3753,"line":6195},[3751,12004,12005],{"class":3805},"  type",[3751,12007,12008],{"class":3811}," Place",[3751,12010,6146],{"class":3761},[3751,12012,12013,12015,12018],{"class":3753,"line":6201},[3751,12014,12005],{"class":3805},[3751,12016,12017],{"class":3811}," Trip",[3751,12019,6146],{"class":3761},[3751,12021,12022,12024,12026,12028],{"class":3753,"line":6206},[3751,12023,11922],{"class":3761},[3751,12025,5184],{"class":3805},[3751,12027,10867],{"class":3784},[3751,12029,3867],{"class":3761},[3751,12031,12032,12034,12036,12038,12040,12043,12046,12048,12050,12052],{"class":3753,"line":6216},[3751,12033,5173],{"class":3805},[3751,12035,5176],{"class":3761},[3751,12037,10882],{"class":3811},[3751,12039,3640],{"class":3761},[3751,12041,12042],{"class":3805},"type",[3751,12044,12045],{"class":3811}," ThemePreference",[3751,12047,5181],{"class":3761},[3751,12049,5184],{"class":3805},[3751,12051,10889],{"class":3784},[3751,12053,3867],{"class":3761},[3751,12055,12056,12058,12060,12063,12065,12068,12070,12072,12074,12076,12079],{"class":3753,"line":6226},[3751,12057,5173],{"class":3805},[3751,12059,5176],{"class":3761},[3751,12061,12062],{"class":3811},"AppText",[3751,12064,3640],{"class":3761},[3751,12066,12067],{"class":3811},"Button",[3751,12069,3640],{"class":3761},[3751,12071,4229],{"class":3811},[3751,12073,5181],{"class":3761},[3751,12075,5184],{"class":3805},[3751,12077,12078],{"class":3784}," '@\u002Fshared\u002Fui'",[3751,12080,3867],{"class":3761},[3751,12082,12083],{"class":3753,"line":6236},[3751,12084,5213],{"emptyLinePlaceholder":5212},[3751,12086,12087,12089,12092,12095,12097,12099,12102,12105,12108,12110,12112],{"class":3753,"line":6246},[3751,12088,3758],{"class":3757},[3751,12090,12091],{"class":3765}," PREFS",[3751,12093,12094],{"class":3761},": { ",[3751,12096,6476],{"class":3811},[3751,12098,4806],{"class":3761},[3751,12100,12101],{"class":3829},"ThemePreference",[3751,12103,12104],{"class":3761},"; ",[3751,12106,12107],{"class":3811},"label",[3751,12109,4806],{"class":3761},[3751,12111,6057],{"class":3829},[3751,12113,12114],{"class":3761}," }[] = [\n",[3751,12116,12117,12120,12123,12126,12128,12131,12134],{"class":3753,"line":6251},[3751,12118,12119],{"class":3761},"  { ",[3751,12121,12122],{"class":3811},"id:",[3751,12124,12125],{"class":3784}," 'system'",[3751,12127,3640],{"class":3761},[3751,12129,12130],{"class":3811},"label:",[3751,12132,12133],{"class":3784}," 'Система'",[3751,12135,6665],{"class":3761},[3751,12137,12138,12140,12142,12144,12146,12148,12151],{"class":3753,"line":6259},[3751,12139,12119],{"class":3761},[3751,12141,12122],{"class":3811},[3751,12143,10985],{"class":3784},[3751,12145,3640],{"class":3761},[3751,12147,12130],{"class":3811},[3751,12149,12150],{"class":3784}," 'Світла'",[3751,12152,6665],{"class":3761},[3751,12154,12155,12157,12159,12161,12163,12165,12168],{"class":3753,"line":6264},[3751,12156,12119],{"class":3761},[3751,12158,12122],{"class":3811},[3751,12160,10979],{"class":3784},[3751,12162,3640],{"class":3761},[3751,12164,12130],{"class":3811},[3751,12166,12167],{"class":3784}," 'Темна'",[3751,12169,6665],{"class":3761},[3751,12171,12172],{"class":3753,"line":6269},[3751,12173,6456],{"class":3761},[3751,12175,12176],{"class":3753,"line":6279},[3751,12177,5213],{"emptyLinePlaceholder":5212},[3751,12179,12180,12182,12184,12186,12189],{"class":3753,"line":6289},[3751,12181,4438],{"class":3805},[3751,12183,4441],{"class":3805},[3751,12185,4444],{"class":3757},[3751,12187,12188],{"class":3777}," HomeScreen",[3751,12190,4450],{"class":3761},[3751,12192,12193,12195,12197,12199,12201],{"class":3753,"line":6299},[3751,12194,8859],{"class":3757},[3751,12196,5454],{"class":3765},[3751,12198,5457],{"class":3761},[3751,12200,3635],{"class":3777},[3751,12202,5462],{"class":3761},[3751,12204,12205,12207,12209,12212,12214,12217,12219,12222],{"class":3753,"line":6309},[3751,12206,8859],{"class":3757},[3751,12208,5176],{"class":3761},[3751,12210,12211],{"class":3765},"trips",[3751,12213,3640],{"class":3761},[3751,12215,12216],{"class":3765},"resetToMock",[3751,12218,8866],{"class":3761},[3751,12220,12221],{"class":3777},"useTrips",[3751,12223,5462],{"class":3761},[3751,12225,12226,12228,12230,12232,12234,12237,12239,12242,12244,12247,12249,12251,12253,12255],{"class":3753,"line":6314},[3751,12227,8859],{"class":3757},[3751,12229,5176],{"class":3761},[3751,12231,10934],{"class":3765},[3751,12233,3640],{"class":3761},[3751,12235,12236],{"class":3765},"spacing",[3751,12238,3640],{"class":3761},[3751,12240,12241],{"class":3765},"preference",[3751,12243,3640],{"class":3761},[3751,12245,12246],{"class":3765},"setPreference",[3751,12248,3640],{"class":3761},[3751,12250,10939],{"class":3765},[3751,12252,8866],{"class":3761},[3751,12254,10882],{"class":3777},[3751,12256,5462],{"class":3761},[3751,12258,12259,12261,12263,12265,12267,12269,12271,12274,12277,12280],{"class":3753,"line":6322},[3751,12260,8859],{"class":3757},[3751,12262,3762],{"class":3761},[3751,12264,4954],{"class":3765},[3751,12266,3774],{"class":3761},[3751,12268,3778],{"class":3777},[3751,12270,3781],{"class":3761},[3751,12272,12273],{"class":3829},"Place",[3751,12275,12276],{"class":3761},"[]>(",[3751,12278,12279],{"class":3811},"mockPlaces",[3751,12281,3799],{"class":3761},[3751,12283,12284,12286,12288,12291,12293,12296,12298,12300,12302,12304],{"class":3753,"line":6327},[3751,12285,8859],{"class":3757},[3751,12287,3762],{"class":3761},[3751,12289,12290],{"class":3765},"refreshing",[3751,12292,3640],{"class":3761},[3751,12294,12295],{"class":3765},"setRefreshing",[3751,12297,3774],{"class":3761},[3751,12299,3778],{"class":3777},[3751,12301,3853],{"class":3761},[3751,12303,4844],{"class":3757},[3751,12305,3799],{"class":3761},[3751,12307,12308],{"class":3753,"line":6332},[3751,12309,5213],{"emptyLinePlaceholder":5212},[3751,12311,12312,12314,12317,12319,12321,12323,12326,12328,12331,12333,12335],{"class":3753,"line":6342},[3751,12313,8859],{"class":3757},[3751,12315,12316],{"class":3765}," handleOpenTrip",[3751,12318,5457],{"class":3761},[3751,12320,11863],{"class":3777},[3751,12322,6508],{"class":3761},[3751,12324,12325],{"class":3811},"trip",[3751,12327,4806],{"class":3761},[3751,12329,12330],{"class":3829},"Trip",[3751,12332,3819],{"class":3761},[3751,12334,3847],{"class":3757},[3751,12336,6493],{"class":3761},[3751,12338,12339,12342,12344,12347,12349,12352,12354,12356,12358,12360,12362,12364,12366,12368],{"class":3753,"line":6352},[3751,12340,12341],{"class":3811},"    console",[3751,12343,3601],{"class":3761},[3751,12345,12346],{"class":3777},"log",[3751,12348,3853],{"class":3761},[3751,12350,12351],{"class":3784},"'TODO: відкрити поїздку'",[3751,12353,3640],{"class":3761},[3751,12355,12325],{"class":3811},[3751,12357,3601],{"class":3761},[3751,12359,6476],{"class":3811},[3751,12361,3640],{"class":3761},[3751,12363,12325],{"class":3811},[3751,12365,3601],{"class":3761},[3751,12367,4809],{"class":3811},[3751,12369,3799],{"class":3761},[3751,12371,12372],{"class":3753,"line":6362},[3751,12373,12374],{"class":3761},"  }, []);\n",[3751,12376,12377],{"class":3753,"line":6372},[3751,12378,5213],{"emptyLinePlaceholder":5212},[3751,12380,12381,12383,12386,12388,12390,12392,12395,12397,12399,12401,12403],{"class":3753,"line":6377},[3751,12382,8859],{"class":3757},[3751,12384,12385],{"class":3765}," handleOpenPlace",[3751,12387,5457],{"class":3761},[3751,12389,11863],{"class":3777},[3751,12391,6508],{"class":3761},[3751,12393,12394],{"class":3811},"place",[3751,12396,4806],{"class":3761},[3751,12398,12273],{"class":3829},[3751,12400,3819],{"class":3761},[3751,12402,3847],{"class":3757},[3751,12404,6493],{"class":3761},[3751,12406,12407,12409,12411,12413,12415,12418,12420,12422,12424,12426,12428,12430,12432,12434],{"class":3753,"line":6385},[3751,12408,12341],{"class":3811},[3751,12410,3601],{"class":3761},[3751,12412,12346],{"class":3777},[3751,12414,3853],{"class":3761},[3751,12416,12417],{"class":3784},"'TODO: відкрити місце'",[3751,12419,3640],{"class":3761},[3751,12421,12394],{"class":3811},[3751,12423,3601],{"class":3761},[3751,12425,6476],{"class":3811},[3751,12427,3640],{"class":3761},[3751,12429,12394],{"class":3811},[3751,12431,3601],{"class":3761},[3751,12433,4801],{"class":3811},[3751,12435,3799],{"class":3761},[3751,12437,12438],{"class":3753,"line":6390},[3751,12439,12374],{"class":3761},[3751,12441,12442],{"class":3753,"line":6395},[3751,12443,5213],{"emptyLinePlaceholder":5212},[3751,12445,12446,12448,12451,12453,12455,12458,12460],{"class":3753,"line":6405},[3751,12447,8859],{"class":3757},[3751,12449,12450],{"class":3765}," onRefresh",[3751,12452,5457],{"class":3761},[3751,12454,11863],{"class":3777},[3751,12456,12457],{"class":3761},"(() ",[3751,12459,3847],{"class":3757},[3751,12461,6493],{"class":3761},[3751,12463,12464,12467,12469,12471],{"class":3753,"line":6415},[3751,12465,12466],{"class":3777},"    setRefreshing",[3751,12468,3853],{"class":3761},[3751,12470,4848],{"class":3757},[3751,12472,3799],{"class":3761},[3751,12474,12475],{"class":3753,"line":6425},[3751,12476,12477],{"class":5471},"    \u002F\u002F Mock pull-to-refresh: повертаємо seed mock (локально створені зникають).\n",[3751,12479,12480,12483,12485,12487],{"class":3753,"line":6435},[3751,12481,12482],{"class":3777},"    setTimeout",[3751,12484,12457],{"class":3761},[3751,12486,3847],{"class":3757},[3751,12488,6493],{"class":3761},[3751,12490,12491,12494],{"class":3753,"line":6440},[3751,12492,12493],{"class":3777},"      resetToMock",[3751,12495,5462],{"class":3761},[3751,12497,12498,12501,12503,12505],{"class":3753,"line":6448},[3751,12499,12500],{"class":3777},"      setRefreshing",[3751,12502,3853],{"class":3761},[3751,12504,4844],{"class":3757},[3751,12506,3799],{"class":3761},[3751,12508,12509,12512,12515],{"class":3753,"line":6453},[3751,12510,12511],{"class":3761},"    }, ",[3751,12513,12514],{"class":7005},"900",[3751,12516,3799],{"class":3761},[3751,12518,12519,12522,12524],{"class":3753,"line":6459},[3751,12520,12521],{"class":3761},"  }, [",[3751,12523,12216],{"class":3811},[3751,12525,12526],{"class":3761},"]);\n",[3751,12528,12529],{"class":3753,"line":6464},[3751,12530,5213],{"emptyLinePlaceholder":5212},[3751,12532,12533,12535,12538,12540,12542],{"class":3753,"line":6496},[3751,12534,8859],{"class":3757},[3751,12536,12537],{"class":3765}," renderTrip",[3751,12539,5457],{"class":3761},[3751,12541,11863],{"class":3777},[3751,12543,12544],{"class":3761},"(\n",[3751,12546,12547,12550,12552,12555,12557,12559,12561,12563,12565],{"class":3753,"line":6531},[3751,12548,12549],{"class":3761},"    ({ ",[3751,12551,7588],{"class":3811},[3751,12553,12554],{"class":3761}," }: { ",[3751,12556,7588],{"class":3811},[3751,12558,4806],{"class":3761},[3751,12560,12330],{"class":3829},[3751,12562,7084],{"class":3761},[3751,12564,3847],{"class":3757},[3751,12566,4458],{"class":3761},[3751,12568,12569,12571,12574,12577,12579,12581,12583,12585,12588,12590,12592,12595,12597],{"class":3753,"line":8184},[3751,12570,4474],{"class":3825},[3751,12572,12573],{"class":3829},"TripCard",[3751,12575,12576],{"class":3833}," trip",[3751,12578,3837],{"class":3761},[3751,12580,3840],{"class":3757},[3751,12582,7588],{"class":3811},[3751,12584,3861],{"class":3757},[3751,12586,12587],{"class":3833}," onPress",[3751,12589,3837],{"class":3761},[3751,12591,3840],{"class":3757},[3751,12593,12594],{"class":3811},"handleOpenTrip",[3751,12596,3861],{"class":3757},[3751,12598,4529],{"class":3825},[3751,12600,12601],{"class":3753,"line":8192},[3751,12602,12603],{"class":3761},"    ),\n",[3751,12605,12606,12609,12611],{"class":3753,"line":8202},[3751,12607,12608],{"class":3761},"    [",[3751,12610,12594],{"class":3811},[3751,12612,12613],{"class":3761},"],\n",[3751,12615,12616],{"class":3753,"line":8212},[3751,12617,4599],{"class":3761},[3751,12619,12620],{"class":3753,"line":8222},[3751,12621,5213],{"emptyLinePlaceholder":5212},[3751,12623,12624,12626,12629,12631,12633,12635,12637,12639,12641,12643,12645,12647,12649,12651],{"class":3753,"line":8232},[3751,12625,8859],{"class":3757},[3751,12627,12628],{"class":3765}," keyExtractor",[3751,12630,5457],{"class":3761},[3751,12632,11863],{"class":3777},[3751,12634,6508],{"class":3761},[3751,12636,7588],{"class":3811},[3751,12638,4806],{"class":3761},[3751,12640,12330],{"class":3829},[3751,12642,3819],{"class":3761},[3751,12644,3847],{"class":3757},[3751,12646,7595],{"class":3811},[3751,12648,3601],{"class":3761},[3751,12650,6476],{"class":3811},[3751,12652,12653],{"class":3761},", []);\n",[3751,12655,12656],{"class":3753,"line":8237},[3751,12657,5213],{"emptyLinePlaceholder":5212},[3751,12659,12661,12663,12666],{"class":3753,"line":12660},62,[3751,12662,8859],{"class":3757},[3751,12664,12665],{"class":3777}," listHeader",[3751,12667,12668],{"class":3761}," = (\n",[3751,12670,12672,12674,12676,12678,12680,12682,12684,12686,12689,12691,12694,12696,12699,12701,12703,12705,12707,12709],{"class":3753,"line":12671},63,[3751,12673,4463],{"class":3825},[3751,12675,7319],{"class":3829},[3751,12677,5301],{"class":3833},[3751,12679,3837],{"class":3761},[3751,12681,3840],{"class":3757},[3751,12683,4515],{"class":3843},[3751,12685,8630],{"class":3811},[3751,12687,12688],{"class":3811}," spacing",[3751,12690,3601],{"class":3843},[3751,12692,12693],{"class":3811},"md",[3751,12695,3640],{"class":3843},[3751,12697,12698],{"class":3811},"marginBottom:",[3751,12700,12688],{"class":3811},[3751,12702,3601],{"class":3843},[3751,12704,12693],{"class":3811},[3751,12706,4524],{"class":3843},[3751,12708,3861],{"class":3757},[3751,12710,4468],{"class":3825},[3751,12712,12714,12717,12719,12721,12723,12726,12729,12731],{"class":3753,"line":12713},64,[3751,12715,12716],{"class":3757},"      {",[3751,12718,4954],{"class":3811},[3751,12720,3601],{"class":3843},[3751,12722,7531],{"class":3811},[3751,12724,12725],{"class":3761}," >",[3751,12727,12728],{"class":7005}," 0",[3751,12730,10982],{"class":3761},[3751,12732,4458],{"class":3843},[3751,12734,12736,12738,12740,12742,12744,12746,12748,12750,12752,12754,12757,12759,12761],{"class":3753,"line":12735},65,[3751,12737,4484],{"class":3825},[3751,12739,7319],{"class":3829},[3751,12741,5301],{"class":3833},[3751,12743,3837],{"class":3761},[3751,12745,3840],{"class":3757},[3751,12747,4515],{"class":3843},[3751,12749,8630],{"class":3811},[3751,12751,12688],{"class":3811},[3751,12753,3601],{"class":3843},[3751,12755,12756],{"class":3811},"sm",[3751,12758,4524],{"class":3843},[3751,12760,3861],{"class":3757},[3751,12762,4468],{"class":3825},[3751,12764,12766,12768,12770,12772,12774,12776,12778,12780,12782,12784,12786,12788,12791,12793,12795],{"class":3753,"line":12765},66,[3751,12767,4494],{"class":3825},[3751,12769,12062],{"class":3829},[3751,12771,5301],{"class":3833},[3751,12773,3837],{"class":3761},[3751,12775,3840],{"class":3757},[3751,12777,4515],{"class":3843},[3751,12779,6685],{"class":3811},[3751,12781,6688],{"class":3784},[3751,12783,4524],{"class":3843},[3751,12785,3861],{"class":3757},[3751,12787,5239],{"class":3825},[3751,12789,12790],{"class":3843},"Останні місця",[3751,12792,5245],{"class":3825},[3751,12794,12062],{"class":3829},[3751,12796,4468],{"class":3825},[3751,12798,12800,12802],{"class":3753,"line":12799},67,[3751,12801,4494],{"class":3825},[3751,12803,7561],{"class":3829},[3751,12805,12807],{"class":3753,"line":12806},68,[3751,12808,12809],{"class":3833},"            horizontal\n",[3751,12811,12813,12816,12818,12820,12822],{"class":3753,"line":12812},69,[3751,12814,12815],{"class":3833},"            data",[3751,12817,3837],{"class":3761},[3751,12819,3840],{"class":3757},[3751,12821,4954],{"class":3811},[3751,12823,4605],{"class":3757},[3751,12825,12827,12830,12832,12834,12836,12838,12840,12842,12844,12846,12848],{"class":3753,"line":12826},70,[3751,12828,12829],{"class":3833},"            keyExtractor",[3751,12831,3837],{"class":3761},[3751,12833,3840],{"class":3757},[3751,12835,3853],{"class":3843},[3751,12837,7588],{"class":3811},[3751,12839,3819],{"class":3843},[3751,12841,3847],{"class":3757},[3751,12843,7595],{"class":3811},[3751,12845,3601],{"class":3843},[3751,12847,6476],{"class":3811},[3751,12849,4605],{"class":3757},[3751,12851,12853,12856,12858,12860,12862,12864,12866,12868],{"class":3753,"line":12852},71,[3751,12854,12855],{"class":3833},"            renderItem",[3751,12857,3837],{"class":3761},[3751,12859,3840],{"class":3757},[3751,12861,7670],{"class":3843},[3751,12863,7588],{"class":3811},[3751,12865,7084],{"class":3843},[3751,12867,3847],{"class":3757},[3751,12869,4458],{"class":3843},[3751,12871,12873,12875,12878,12881,12883,12885,12887,12889,12891,12893,12895,12898,12900],{"class":3753,"line":12872},72,[3751,12874,7740],{"class":3825},[3751,12876,12877],{"class":3829},"PlaceChip",[3751,12879,12880],{"class":3833}," place",[3751,12882,3837],{"class":3761},[3751,12884,3840],{"class":3757},[3751,12886,7588],{"class":3811},[3751,12888,3861],{"class":3757},[3751,12890,12587],{"class":3833},[3751,12892,3837],{"class":3761},[3751,12894,3840],{"class":3757},[3751,12896,12897],{"class":3811},"handleOpenPlace",[3751,12899,3861],{"class":3757},[3751,12901,4529],{"class":3825},[3751,12903,12905,12908],{"class":3753,"line":12904},73,[3751,12906,12907],{"class":3843},"            )",[3751,12909,4605],{"class":3757},[3751,12911,12913,12916,12918],{"class":3753,"line":12912},74,[3751,12914,12915],{"class":3833},"            showsHorizontalScrollIndicator",[3751,12917,3837],{"class":3761},[3751,12919,12920],{"class":3757},"{false}\n",[3751,12922,12924,12927,12929,12931,12933,12935,12937,12939,12941,12943,12945,12947,12950,12952,12954,12956,12958,12960,12962],{"class":3753,"line":12923},75,[3751,12925,12926],{"class":3833},"            ItemSeparatorComponent",[3751,12928,3837],{"class":3761},[3751,12930,3840],{"class":3757},[3751,12932,3844],{"class":3843},[3751,12934,3847],{"class":3757},[3751,12936,3826],{"class":3825},[3751,12938,7319],{"class":3829},[3751,12940,5301],{"class":3833},[3751,12942,3837],{"class":3761},[3751,12944,3840],{"class":3757},[3751,12946,4515],{"class":3843},[3751,12948,12949],{"class":3811},"width:",[3751,12951,12688],{"class":3811},[3751,12953,3601],{"class":3843},[3751,12955,12756],{"class":3811},[3751,12957,4524],{"class":3843},[3751,12959,3861],{"class":3757},[3751,12961,3864],{"class":3825},[3751,12963,4605],{"class":3757},[3751,12965,12967,12970,12972,12974,12976,12979,12982,12984],{"class":3753,"line":12966},76,[3751,12968,12969],{"class":3833},"            contentContainerStyle",[3751,12971,3837],{"class":3761},[3751,12973,3840],{"class":3757},[3751,12975,4515],{"class":3843},[3751,12977,12978],{"class":3811},"paddingVertical:",[3751,12980,12981],{"class":7005}," 2",[3751,12983,4524],{"class":3843},[3751,12985,4605],{"class":3757},[3751,12987,12989],{"class":3753,"line":12988},77,[3751,12990,12991],{"class":3825},"          \u002F>\n",[3751,12993,12995,12997,12999],{"class":3753,"line":12994},78,[3751,12996,4569],{"class":3825},[3751,12998,7319],{"class":3829},[3751,13000,4468],{"class":3825},[3751,13002,13004,13007,13009],{"class":3753,"line":13003},79,[3751,13005,13006],{"class":3843},"      ) ",[3751,13008,5658],{"class":3761},[3751,13010,13011],{"class":3757}," null}\n",[3751,13013,13015],{"class":3753,"line":13014},80,[3751,13016,5213],{"emptyLinePlaceholder":5212},[3751,13018,13020,13022,13024,13026,13028,13030,13032,13034,13036,13038,13040,13042,13045,13047,13049],{"class":3753,"line":13019},81,[3751,13021,4474],{"class":3825},[3751,13023,12062],{"class":3829},[3751,13025,5301],{"class":3833},[3751,13027,3837],{"class":3761},[3751,13029,3840],{"class":3757},[3751,13031,4515],{"class":3843},[3751,13033,6685],{"class":3811},[3751,13035,6688],{"class":3784},[3751,13037,4524],{"class":3843},[3751,13039,3861],{"class":3757},[3751,13041,5239],{"class":3825},[3751,13043,13044],{"class":3761},"Ваші поїздки",[3751,13046,5245],{"class":3825},[3751,13048,12062],{"class":3829},[3751,13050,4468],{"class":3825},[3751,13052,13054,13056,13058],{"class":3753,"line":13053},82,[3751,13055,4589],{"class":3825},[3751,13057,7319],{"class":3829},[3751,13059,4468],{"class":3825},[3751,13061,13063],{"class":3753,"line":13062},83,[3751,13064,4599],{"class":3761},[3751,13066,13068],{"class":3753,"line":13067},84,[3751,13069,5213],{"emptyLinePlaceholder":5212},[3751,13071,13073,13075,13078],{"class":3753,"line":13072},85,[3751,13074,8859],{"class":3757},[3751,13076,13077],{"class":3777}," listEmpty",[3751,13079,12668],{"class":3761},[3751,13081,13083,13085],{"class":3753,"line":13082},86,[3751,13084,4463],{"class":3825},[3751,13086,13087],{"class":3829},"View\n",[3751,13089,13091,13094,13096,13098],{"class":3753,"line":13090},87,[3751,13092,13093],{"class":3833},"      style",[3751,13095,3837],{"class":3761},[3751,13097,3840],{"class":3757},[3751,13099,13100],{"class":3843},"[\n",[3751,13102,13104,13107,13109,13112],{"class":3753,"line":13103},88,[3751,13105,13106],{"class":3811},"        styles",[3751,13108,3601],{"class":3843},[3751,13110,13111],{"class":3811},"empty",[3751,13113,6146],{"class":3843},[3751,13115,13117],{"class":3753,"line":13116},89,[3751,13118,13119],{"class":3843},"        {\n",[3751,13121,13123,13126,13128,13130,13132],{"class":3753,"line":13122},90,[3751,13124,13125],{"class":3811},"          paddingHorizontal:",[3751,13127,12688],{"class":3811},[3751,13129,3601],{"class":3843},[3751,13131,12756],{"class":3811},[3751,13133,6146],{"class":3843},[3751,13135,13137,13140,13142,13144,13147],{"class":3753,"line":13136},91,[3751,13138,13139],{"class":3811},"          paddingVertical:",[3751,13141,12688],{"class":3811},[3751,13143,3601],{"class":3843},[3751,13145,13146],{"class":3811},"xl",[3751,13148,6146],{"class":3843},[3751,13150,13152,13155,13157,13159,13161],{"class":3753,"line":13151},92,[3751,13153,13154],{"class":3811},"          gap:",[3751,13156,12688],{"class":3811},[3751,13158,3601],{"class":3843},[3751,13160,12756],{"class":3811},[3751,13162,6146],{"class":3843},[3751,13164,13166],{"class":3753,"line":13165},93,[3751,13167,6992],{"class":3843},[3751,13169,13171,13174],{"class":3753,"line":13170},94,[3751,13172,13173],{"class":3843},"      ]",[3751,13175,4605],{"class":3757},[3751,13177,13179],{"class":3753,"line":13178},95,[3751,13180,7026],{"class":3825},[3751,13182,13184,13186,13188,13191,13193,13196,13198,13200,13202,13204,13206,13209,13211],{"class":3753,"line":13183},96,[3751,13185,4474],{"class":3825},[3751,13187,12062],{"class":3829},[3751,13189,13190],{"class":3833}," variant",[3751,13192,3837],{"class":3761},[3751,13194,13195],{"class":3784},"\"subtitle\"",[3751,13197,5301],{"class":3833},[3751,13199,3837],{"class":3761},[3751,13201,3840],{"class":3757},[3751,13203,5308],{"class":3811},[3751,13205,3601],{"class":3843},[3751,13207,13208],{"class":3811},"emptyTitle",[3751,13210,3861],{"class":3757},[3751,13212,4468],{"class":3825},[3751,13214,13216],{"class":3753,"line":13215},97,[3751,13217,13218],{"class":3761},"        Поки немає поїздок\n",[3751,13220,13222,13224,13226],{"class":3753,"line":13221},98,[3751,13223,4579],{"class":3825},[3751,13225,12062],{"class":3829},[3751,13227,4468],{"class":3825},[3751,13229,13231,13233],{"class":3753,"line":13230},99,[3751,13232,4474],{"class":3825},[3751,13234,13235],{"class":3829},"AppText\n",[3751,13237,13239,13242,13244],{"class":3753,"line":13238},100,[3751,13240,13241],{"class":3833},"        variant",[3751,13243,3837],{"class":3761},[3751,13245,13246],{"class":3784},"\"caption\"\n",[3751,13248,13250,13253,13255,13257,13259,13261,13263],{"class":3753,"line":13249},101,[3751,13251,13252],{"class":3833},"        color",[3751,13254,3837],{"class":3761},[3751,13256,3840],{"class":3757},[3751,13258,10934],{"class":3811},[3751,13260,3601],{"class":3843},[3751,13262,4980],{"class":3811},[3751,13264,4605],{"class":3757},[3751,13266,13268,13271,13273,13275,13277,13279,13282],{"class":3753,"line":13267},102,[3751,13269,13270],{"class":3833},"        style",[3751,13272,3837],{"class":3761},[3751,13274,3840],{"class":3757},[3751,13276,5308],{"class":3811},[3751,13278,3601],{"class":3843},[3751,13280,13281],{"class":3811},"emptyDesc",[3751,13283,4605],{"class":3757},[3751,13285,13287],{"class":3753,"line":13286},103,[3751,13288,6723],{"class":3825},[3751,13290,13292],{"class":3753,"line":13291},104,[3751,13293,13294],{"class":3761},"        Потягніть список униз, щоб «оновити», або натисніть «Нова поїздка».\n",[3751,13296,13298,13300,13302],{"class":3753,"line":13297},105,[3751,13299,4579],{"class":3825},[3751,13301,12062],{"class":3829},[3751,13303,4468],{"class":3825},[3751,13305,13307,13309,13311],{"class":3753,"line":13306},106,[3751,13308,4589],{"class":3825},[3751,13310,7319],{"class":3829},[3751,13312,4468],{"class":3825},[3751,13314,13316],{"class":3753,"line":13315},107,[3751,13317,4599],{"class":3761},[3751,13319,13321],{"class":3753,"line":13320},108,[3751,13322,5213],{"emptyLinePlaceholder":5212},[3751,13324,13326,13328],{"class":3753,"line":13325},109,[3751,13327,4455],{"class":3805},[3751,13329,4458],{"class":3761},[3751,13331,13333,13335,13337,13339,13341,13343,13345,13347,13349,13351],{"class":3753,"line":13332},110,[3751,13334,4463],{"class":3825},[3751,13336,4229],{"class":3829},[3751,13338,5301],{"class":3833},[3751,13340,3837],{"class":3761},[3751,13342,3840],{"class":3757},[3751,13344,5308],{"class":3811},[3751,13346,3601],{"class":3843},[3751,13348,3766],{"class":3811},[3751,13350,3861],{"class":3757},[3751,13352,4468],{"class":3825},[3751,13354,13356,13358],{"class":3753,"line":13355},111,[3751,13357,4474],{"class":3825},[3751,13359,13087],{"class":3829},[3751,13361,13363,13365,13367,13369],{"class":3753,"line":13362},112,[3751,13364,13270],{"class":3833},[3751,13366,3837],{"class":3761},[3751,13368,3840],{"class":3757},[3751,13370,13100],{"class":3843},[3751,13372,13374,13377,13379,13381],{"class":3753,"line":13373},113,[3751,13375,13376],{"class":3811},"          styles",[3751,13378,3601],{"class":3843},[3751,13380,4773],{"class":3811},[3751,13382,6146],{"class":3843},[3751,13384,13386],{"class":3753,"line":13385},114,[3751,13387,13388],{"class":3843},"          {\n",[3751,13390,13392,13395,13397,13399,13401],{"class":3753,"line":13391},115,[3751,13393,13394],{"class":3811},"            paddingHorizontal:",[3751,13396,12688],{"class":3811},[3751,13398,3601],{"class":3843},[3751,13400,12693],{"class":3811},[3751,13402,6146],{"class":3843},[3751,13404,13406,13409,13411,13413,13415],{"class":3753,"line":13405},116,[3751,13407,13408],{"class":3811},"            paddingTop:",[3751,13410,12688],{"class":3811},[3751,13412,3601],{"class":3843},[3751,13414,12756],{"class":3811},[3751,13416,6146],{"class":3843},[3751,13418,13420,13423,13425,13427,13429],{"class":3753,"line":13419},117,[3751,13421,13422],{"class":3811},"            paddingBottom:",[3751,13424,12688],{"class":3811},[3751,13426,3601],{"class":3843},[3751,13428,12693],{"class":3811},[3751,13430,6146],{"class":3843},[3751,13432,13434,13437,13439,13441,13444],{"class":3753,"line":13433},118,[3751,13435,13436],{"class":3811},"            gap:",[3751,13438,12688],{"class":3811},[3751,13440,3601],{"class":3843},[3751,13442,13443],{"class":3811},"xs",[3751,13445,6146],{"class":3843},[3751,13447,13449,13452,13454,13456,13458],{"class":3753,"line":13448},119,[3751,13450,13451],{"class":3811},"            borderBottomColor:",[3751,13453,11021],{"class":3811},[3751,13455,3601],{"class":3843},[3751,13457,11482],{"class":3811},[3751,13459,6146],{"class":3843},[3751,13461,13463],{"class":3753,"line":13462},120,[3751,13464,13465],{"class":3843},"          },\n",[3751,13467,13469,13472],{"class":3753,"line":13468},121,[3751,13470,13471],{"class":3843},"        ]",[3751,13473,4605],{"class":3757},[3751,13475,13477],{"class":3753,"line":13476},122,[3751,13478,6723],{"class":3825},[3751,13480,13482,13484,13486,13488,13490,13493,13495,13498,13500,13502],{"class":3753,"line":13481},123,[3751,13483,4484],{"class":3825},[3751,13485,12062],{"class":3829},[3751,13487,13190],{"class":3833},[3751,13489,3837],{"class":3761},[3751,13491,13492],{"class":3784},"\"title\"",[3751,13494,5239],{"class":3825},[3751,13496,13497],{"class":3761},"Мандрівник",[3751,13499,5245],{"class":3825},[3751,13501,12062],{"class":3829},[3751,13503,4468],{"class":3825},[3751,13505,13507,13509,13511,13513,13515,13518,13520,13522,13524,13526,13528,13530,13532,13534,13536,13538],{"class":3753,"line":13506},124,[3751,13508,4484],{"class":3825},[3751,13510,12062],{"class":3829},[3751,13512,13190],{"class":3833},[3751,13514,3837],{"class":3761},[3751,13516,13517],{"class":3784},"\"caption\"",[3751,13519,5301],{"class":3833},[3751,13521,3837],{"class":3761},[3751,13523,3840],{"class":3757},[3751,13525,4515],{"class":3843},[3751,13527,8031],{"class":3811},[3751,13529,12688],{"class":3811},[3751,13531,3601],{"class":3843},[3751,13533,13443],{"class":3811},[3751,13535,4524],{"class":3843},[3751,13537,3861],{"class":3757},[3751,13539,4468],{"class":3825},[3751,13541,13543,13546,13548,13550,13552,13554,13556,13559,13561,13564],{"class":3753,"line":13542},125,[3751,13544,13545],{"class":3761},"          Щоденник подорожей · тема: ",[3751,13547,3840],{"class":3757},[3751,13549,10939],{"class":3811},[3751,13551,10976],{"class":3761},[3751,13553,10979],{"class":3784},[3751,13555,10982],{"class":3761},[3751,13557,13558],{"class":3784}," 'темна'",[3751,13560,10988],{"class":3761},[3751,13562,13563],{"class":3784}," 'світла'",[3751,13565,4605],{"class":3757},[3751,13567,13569,13571,13573],{"class":3753,"line":13568},126,[3751,13570,4569],{"class":3825},[3751,13572,12062],{"class":3829},[3751,13574,4468],{"class":3825},[3751,13576,13578,13580],{"class":3753,"line":13577},127,[3751,13579,4484],{"class":3825},[3751,13581,13235],{"class":3829},[3751,13583,13585,13588,13590],{"class":3753,"line":13584},128,[3751,13586,13587],{"class":3833},"          variant",[3751,13589,3837],{"class":3761},[3751,13591,13246],{"class":3784},[3751,13593,13595,13598,13600,13602],{"class":3753,"line":13594},129,[3751,13596,13597],{"class":3833},"          style",[3751,13599,3837],{"class":3761},[3751,13601,3840],{"class":3757},[3751,13603,6649],{"class":3843},[3751,13605,13607,13610,13612,13614,13616],{"class":3753,"line":13606},130,[3751,13608,13609],{"class":3811},"            marginTop:",[3751,13611,12688],{"class":3811},[3751,13613,3601],{"class":3843},[3751,13615,13443],{"class":3811},[3751,13617,6146],{"class":3843},[3751,13619,13621,13624,13626,13628,13630],{"class":3753,"line":13620},131,[3751,13622,13623],{"class":3811},"            color:",[3751,13625,11021],{"class":3811},[3751,13627,3601],{"class":3843},[3751,13629,11055],{"class":3811},[3751,13631,6146],{"class":3843},[3751,13633,13635,13638,13640],{"class":3753,"line":13634},132,[3751,13636,13637],{"class":3811},"            fontWeight:",[3751,13639,6688],{"class":3784},[3751,13641,6146],{"class":3843},[3751,13643,13645,13647],{"class":3753,"line":13644},133,[3751,13646,6806],{"class":3843},[3751,13648,4605],{"class":3757},[3751,13650,13652],{"class":3753,"line":13651},134,[3751,13653,13654],{"class":3825},"        >\n",[3751,13656,13658,13661,13663,13665,13667,13669],{"class":3753,"line":13657},135,[3751,13659,13660],{"class":3757},"          {",[3751,13662,12211],{"class":3811},[3751,13664,3601],{"class":3843},[3751,13666,7531],{"class":3811},[3751,13668,12725],{"class":3761},[3751,13670,13671],{"class":7005}," 0\n",[3751,13673,13675,13678,13681,13683,13685,13687,13689,13691,13694,13696,13698,13700,13702,13704],{"class":3753,"line":13674},136,[3751,13676,13677],{"class":3761},"            ?",[3751,13679,13680],{"class":3784}," `",[3751,13682,7696],{"class":3757},[3751,13684,12211],{"class":3811},[3751,13686,3601],{"class":3843},[3751,13688,7531],{"class":3811},[3751,13690,3861],{"class":3757},[3751,13692,13693],{"class":3784}," поїздок · ",[3751,13695,7696],{"class":3757},[3751,13697,4954],{"class":3811},[3751,13699,3601],{"class":3843},[3751,13701,7531],{"class":3811},[3751,13703,3861],{"class":3757},[3751,13705,13706],{"class":3784}," місць`\n",[3751,13708,13710,13713,13716],{"class":3753,"line":13709},137,[3751,13711,13712],{"class":3761},"            :",[3751,13714,13715],{"class":3784}," 'Список порожній'",[3751,13717,4605],{"class":3757},[3751,13719,13721,13723,13725],{"class":3753,"line":13720},138,[3751,13722,4569],{"class":3825},[3751,13724,12062],{"class":3829},[3751,13726,4468],{"class":3825},[3751,13728,13730],{"class":3753,"line":13729},139,[3751,13731,5213],{"emptyLinePlaceholder":5212},[3751,13733,13735,13737,13739,13741,13743,13745,13747,13749,13751,13754,13757,13759,13761,13763,13765,13767,13769,13771,13773,13775,13778,13780],{"class":3753,"line":13734},140,[3751,13736,4484],{"class":3825},[3751,13738,7319],{"class":3829},[3751,13740,5301],{"class":3833},[3751,13742,3837],{"class":3761},[3751,13744,3840],{"class":3757},[3751,13746,7436],{"class":3843},[3751,13748,5308],{"class":3811},[3751,13750,3601],{"class":3843},[3751,13752,13753],{"class":3811},"themeRow",[3751,13755,13756],{"class":3843},", { ",[3751,13758,8630],{"class":3811},[3751,13760,12688],{"class":3811},[3751,13762,3601],{"class":3843},[3751,13764,12756],{"class":3811},[3751,13766,3640],{"class":3843},[3751,13768,8031],{"class":3811},[3751,13770,12688],{"class":3811},[3751,13772,3601],{"class":3843},[3751,13774,12756],{"class":3811},[3751,13776,13777],{"class":3843}," }]",[3751,13779,3861],{"class":3757},[3751,13781,4468],{"class":3825},[3751,13783,13785,13787,13790,13792,13795,13797,13799,13801,13803],{"class":3753,"line":13784},141,[3751,13786,13660],{"class":3757},[3751,13788,13789],{"class":3765},"PREFS",[3751,13791,3601],{"class":3843},[3751,13793,13794],{"class":3777},"map",[3751,13796,6508],{"class":3843},[3751,13798,3512],{"class":3811},[3751,13800,3819],{"class":3843},[3751,13802,3847],{"class":3757},[3751,13804,6493],{"class":3843},[3751,13806,13808,13811,13814,13817,13820,13822,13825,13827,13829],{"class":3753,"line":13807},142,[3751,13809,13810],{"class":3757},"            const",[3751,13812,13813],{"class":3765}," active",[3751,13815,13816],{"class":3761}," =",[3751,13818,13819],{"class":3811}," preference",[3751,13821,10976],{"class":3761},[3751,13823,13824],{"class":3811}," p",[3751,13826,3601],{"class":3843},[3751,13828,6476],{"class":3811},[3751,13830,3867],{"class":3843},[3751,13832,13834,13837],{"class":3753,"line":13833},143,[3751,13835,13836],{"class":3805},"            return",[3751,13838,4458],{"class":3843},[3751,13840,13842,13844],{"class":3753,"line":13841},144,[3751,13843,7740],{"class":3825},[3751,13845,13846],{"class":3829},"Pressable\n",[3751,13848,13850,13853,13855,13857,13859,13861,13863],{"class":3753,"line":13849},145,[3751,13851,13852],{"class":3833},"                key",[3751,13854,3837],{"class":3761},[3751,13856,3840],{"class":3757},[3751,13858,3512],{"class":3811},[3751,13860,3601],{"class":3843},[3751,13862,6476],{"class":3811},[3751,13864,4605],{"class":3757},[3751,13866,13868,13871,13873,13875,13877,13879,13882,13884,13886,13888,13890,13892],{"class":3753,"line":13867},146,[3751,13869,13870],{"class":3833},"                onPress",[3751,13872,3837],{"class":3761},[3751,13874,3840],{"class":3757},[3751,13876,3844],{"class":3843},[3751,13878,3847],{"class":3757},[3751,13880,13881],{"class":3777}," setPreference",[3751,13883,3853],{"class":3843},[3751,13885,3512],{"class":3811},[3751,13887,3601],{"class":3843},[3751,13889,6476],{"class":3811},[3751,13891,3858],{"class":3843},[3751,13893,4605],{"class":3757},[3751,13895,13897,13900,13902,13904],{"class":3753,"line":13896},147,[3751,13898,13899],{"class":3833},"                style",[3751,13901,3837],{"class":3761},[3751,13903,3840],{"class":3757},[3751,13905,13100],{"class":3843},[3751,13907,13909,13912,13914,13917],{"class":3753,"line":13908},148,[3751,13910,13911],{"class":3811},"                  styles",[3751,13913,3601],{"class":3843},[3751,13915,13916],{"class":3811},"themeChip",[3751,13918,6146],{"class":3843},[3751,13920,13922],{"class":3753,"line":13921},149,[3751,13923,13924],{"class":3843},"                  {\n",[3751,13926,13928,13931,13933,13935,13937,13939,13941,13943,13945,13947,13950],{"class":3753,"line":13927},150,[3751,13929,13930],{"class":3811},"                    backgroundColor:",[3751,13932,13813],{"class":3811},[3751,13934,10982],{"class":3761},[3751,13936,11021],{"class":3811},[3751,13938,3601],{"class":3843},[3751,13940,11055],{"class":3811},[3751,13942,10988],{"class":3761},[3751,13944,11021],{"class":3811},[3751,13946,3601],{"class":3843},[3751,13948,13949],{"class":3811},"surface",[3751,13951,6146],{"class":3843},[3751,13953,13955,13958,13960,13962,13964],{"class":3753,"line":13954},151,[3751,13956,13957],{"class":3811},"                    borderColor:",[3751,13959,11021],{"class":3811},[3751,13961,3601],{"class":3843},[3751,13963,11482],{"class":3811},[3751,13965,6146],{"class":3843},[3751,13967,13969],{"class":3753,"line":13968},152,[3751,13970,13971],{"class":3843},"                  },\n",[3751,13973,13975,13978],{"class":3753,"line":13974},153,[3751,13976,13977],{"class":3843},"                ]",[3751,13979,4605],{"class":3757},[3751,13981,13983,13986,13988],{"class":3753,"line":13982},154,[3751,13984,13985],{"class":3833},"                accessibilityRole",[3751,13987,3837],{"class":3761},[3751,13989,13990],{"class":3784},"\"button\"\n",[3751,13992,13994,13997,13999,14001,14003,14006,14008,14010],{"class":3753,"line":13993},155,[3751,13995,13996],{"class":3833},"                accessibilityState",[3751,13998,3837],{"class":3761},[3751,14000,3840],{"class":3757},[3751,14002,4515],{"class":3843},[3751,14004,14005],{"class":3811},"selected:",[3751,14007,13813],{"class":3811},[3751,14009,4524],{"class":3843},[3751,14011,4605],{"class":3757},[3751,14013,14015,14018,14020,14022,14025,14027,14029,14031,14033,14035,14037],{"class":3753,"line":14014},156,[3751,14016,14017],{"class":3833},"                accessibilityLabel",[3751,14019,3837],{"class":3761},[3751,14021,3840],{"class":3757},[3751,14023,14024],{"class":3784},"`Тема: ",[3751,14026,7696],{"class":3757},[3751,14028,3512],{"class":3811},[3751,14030,3601],{"class":3843},[3751,14032,12107],{"class":3811},[3751,14034,3861],{"class":3757},[3751,14036,7707],{"class":3784},[3751,14038,4605],{"class":3757},[3751,14040,14042],{"class":3753,"line":14041},157,[3751,14043,14044],{"class":3825},"              >\n",[3751,14046,14048,14051],{"class":3753,"line":14047},158,[3751,14049,14050],{"class":3825},"                \u003C",[3751,14052,13235],{"class":3829},[3751,14054,14056,14059,14061],{"class":3753,"line":14055},159,[3751,14057,14058],{"class":3833},"                  variant",[3751,14060,3837],{"class":3761},[3751,14062,13246],{"class":3784},[3751,14064,14066,14069,14071,14073,14076,14078,14080,14082,14085,14087,14089,14091,14093],{"class":3753,"line":14065},160,[3751,14067,14068],{"class":3833},"                  color",[3751,14070,3837],{"class":3761},[3751,14072,3840],{"class":3757},[3751,14074,14075],{"class":3811},"active",[3751,14077,10982],{"class":3761},[3751,14079,11021],{"class":3811},[3751,14081,3601],{"class":3843},[3751,14083,14084],{"class":3811},"onPrimary",[3751,14086,10988],{"class":3761},[3751,14088,11021],{"class":3811},[3751,14090,3601],{"class":3843},[3751,14092,4249],{"class":3811},[3751,14094,4605],{"class":3757},[3751,14096,14098,14101,14103,14105,14107,14109,14112],{"class":3753,"line":14097},161,[3751,14099,14100],{"class":3833},"                  style",[3751,14102,3837],{"class":3761},[3751,14104,3840],{"class":3757},[3751,14106,5308],{"class":3811},[3751,14108,3601],{"class":3843},[3751,14110,14111],{"class":3811},"themeChipText",[3751,14113,4605],{"class":3757},[3751,14115,14117],{"class":3753,"line":14116},162,[3751,14118,14119],{"class":3825},"                >\n",[3751,14121,14123,14126,14128,14130,14132],{"class":3753,"line":14122},163,[3751,14124,14125],{"class":3757},"                  {",[3751,14127,3512],{"class":3811},[3751,14129,3601],{"class":3843},[3751,14131,12107],{"class":3811},[3751,14133,4605],{"class":3757},[3751,14135,14137,14140,14142],{"class":3753,"line":14136},164,[3751,14138,14139],{"class":3825},"                \u003C\u002F",[3751,14141,12062],{"class":3829},[3751,14143,4468],{"class":3825},[3751,14145,14147,14150,14152],{"class":3753,"line":14146},165,[3751,14148,14149],{"class":3825},"              \u003C\u002F",[3751,14151,5298],{"class":3829},[3751,14153,4468],{"class":3825},[3751,14155,14157],{"class":3753,"line":14156},166,[3751,14158,14159],{"class":3843},"            );\n",[3751,14161,14163,14166],{"class":3753,"line":14162},167,[3751,14164,14165],{"class":3843},"          })",[3751,14167,4605],{"class":3757},[3751,14169,14171,14173,14175],{"class":3753,"line":14170},168,[3751,14172,4569],{"class":3825},[3751,14174,7319],{"class":3829},[3751,14176,4468],{"class":3825},[3751,14178,14180,14182,14184],{"class":3753,"line":14179},169,[3751,14181,4579],{"class":3825},[3751,14183,7319],{"class":3829},[3751,14185,4468],{"class":3825},[3751,14187,14189],{"class":3753,"line":14188},170,[3751,14190,5213],{"emptyLinePlaceholder":5212},[3751,14192,14194,14196,14198,14200,14202,14204,14206,14208,14211,14213],{"class":3753,"line":14193},171,[3751,14195,4474],{"class":3825},[3751,14197,7319],{"class":3829},[3751,14199,5301],{"class":3833},[3751,14201,3837],{"class":3761},[3751,14203,3840],{"class":3757},[3751,14205,5308],{"class":3811},[3751,14207,3601],{"class":3843},[3751,14209,14210],{"class":3811},"listWrap",[3751,14212,3861],{"class":3757},[3751,14214,4468],{"class":3825},[3751,14216,14218,14220],{"class":3753,"line":14217},172,[3751,14219,4484],{"class":3825},[3751,14221,14222],{"class":3829},"FlashList\n",[3751,14224,14226,14229,14231,14233,14235],{"class":3753,"line":14225},173,[3751,14227,14228],{"class":3833},"          data",[3751,14230,3837],{"class":3761},[3751,14232,3840],{"class":3757},[3751,14234,12211],{"class":3811},[3751,14236,4605],{"class":3757},[3751,14238,14240,14243,14245,14247,14250],{"class":3753,"line":14239},174,[3751,14241,14242],{"class":3833},"          renderItem",[3751,14244,3837],{"class":3761},[3751,14246,3840],{"class":3757},[3751,14248,14249],{"class":3811},"renderTrip",[3751,14251,4605],{"class":3757},[3751,14253,14255,14258,14260,14262,14265],{"class":3753,"line":14254},175,[3751,14256,14257],{"class":3833},"          keyExtractor",[3751,14259,3837],{"class":3761},[3751,14261,3840],{"class":3757},[3751,14263,14264],{"class":3811},"keyExtractor",[3751,14266,4605],{"class":3757},[3751,14268,14270,14273,14275,14277,14280],{"class":3753,"line":14269},176,[3751,14271,14272],{"class":3833},"          ListHeaderComponent",[3751,14274,3837],{"class":3761},[3751,14276,3840],{"class":3757},[3751,14278,14279],{"class":3811},"listHeader",[3751,14281,4605],{"class":3757},[3751,14283,14285,14288,14290,14292,14295],{"class":3753,"line":14284},177,[3751,14286,14287],{"class":3833},"          ListEmptyComponent",[3751,14289,3837],{"class":3761},[3751,14291,3840],{"class":3757},[3751,14293,14294],{"class":3811},"listEmpty",[3751,14296,4605],{"class":3757},[3751,14298,14300,14303,14305,14307],{"class":3753,"line":14299},178,[3751,14301,14302],{"class":3833},"          contentContainerStyle",[3751,14304,3837],{"class":3761},[3751,14306,3840],{"class":3757},[3751,14308,6649],{"class":3843},[3751,14310,14312,14314,14316,14318,14320],{"class":3753,"line":14311},179,[3751,14313,13394],{"class":3811},[3751,14315,12688],{"class":3811},[3751,14317,3601],{"class":3843},[3751,14319,12693],{"class":3811},[3751,14321,6146],{"class":3843},[3751,14323,14325,14327,14329,14331,14333],{"class":3753,"line":14324},180,[3751,14326,13408],{"class":3811},[3751,14328,12688],{"class":3811},[3751,14330,3601],{"class":3843},[3751,14332,12693],{"class":3811},[3751,14334,6146],{"class":3843},[3751,14336,14338,14340,14342,14344,14346],{"class":3753,"line":14337},181,[3751,14339,13422],{"class":3811},[3751,14341,12688],{"class":3811},[3751,14343,3601],{"class":3843},[3751,14345,12693],{"class":3811},[3751,14347,6146],{"class":3843},[3751,14349,14351,14353],{"class":3753,"line":14350},182,[3751,14352,6806],{"class":3843},[3751,14354,4605],{"class":3757},[3751,14356,14358,14361,14363,14365,14367,14369,14371,14373,14375,14377,14379,14381,14383,14385,14387,14389,14391,14393,14395],{"class":3753,"line":14357},183,[3751,14359,14360],{"class":3833},"          ItemSeparatorComponent",[3751,14362,3837],{"class":3761},[3751,14364,3840],{"class":3757},[3751,14366,3844],{"class":3843},[3751,14368,3847],{"class":3757},[3751,14370,3826],{"class":3825},[3751,14372,7319],{"class":3829},[3751,14374,5301],{"class":3833},[3751,14376,3837],{"class":3761},[3751,14378,3840],{"class":3757},[3751,14380,4515],{"class":3843},[3751,14382,7647],{"class":3811},[3751,14384,12688],{"class":3811},[3751,14386,3601],{"class":3843},[3751,14388,12693],{"class":3811},[3751,14390,4524],{"class":3843},[3751,14392,3861],{"class":3757},[3751,14394,3864],{"class":3825},[3751,14396,4605],{"class":3757},[3751,14398,14400,14403,14405],{"class":3753,"line":14399},184,[3751,14401,14402],{"class":3833},"          refreshControl",[3751,14404,3837],{"class":3761},[3751,14406,6649],{"class":3757},[3751,14408,14410,14412],{"class":3753,"line":14409},185,[3751,14411,7093],{"class":3825},[3751,14413,14414],{"class":3829},"RefreshControl\n",[3751,14416,14418,14421,14423,14425,14427],{"class":3753,"line":14417},186,[3751,14419,14420],{"class":3833},"              refreshing",[3751,14422,3837],{"class":3761},[3751,14424,3840],{"class":3757},[3751,14426,12290],{"class":3811},[3751,14428,4605],{"class":3757},[3751,14430,14432,14435,14437,14439,14442],{"class":3753,"line":14431},187,[3751,14433,14434],{"class":3833},"              onRefresh",[3751,14436,3837],{"class":3761},[3751,14438,3840],{"class":3757},[3751,14440,14441],{"class":3811},"onRefresh",[3751,14443,4605],{"class":3757},[3751,14445,14447,14450,14452,14454,14456,14458,14460],{"class":3753,"line":14446},188,[3751,14448,14449],{"class":3833},"              tintColor",[3751,14451,3837],{"class":3761},[3751,14453,3840],{"class":3757},[3751,14455,10934],{"class":3811},[3751,14457,3601],{"class":3843},[3751,14459,11055],{"class":3811},[3751,14461,4605],{"class":3757},[3751,14463,14465,14468,14470,14472,14474,14476,14478,14480,14482],{"class":3753,"line":14464},189,[3751,14466,14467],{"class":3833},"              colors",[3751,14469,3837],{"class":3761},[3751,14471,3840],{"class":3757},[3751,14473,7436],{"class":3843},[3751,14475,10934],{"class":3811},[3751,14477,3601],{"class":3843},[3751,14479,11055],{"class":3811},[3751,14481,7442],{"class":3843},[3751,14483,4605],{"class":3757},[3751,14485,14487],{"class":3753,"line":14486},190,[3751,14488,7244],{"class":3825},[3751,14490,14492],{"class":3753,"line":14491},191,[3751,14493,14494],{"class":3757},"          }\n",[3751,14496,14498,14501,14503],{"class":3753,"line":14497},192,[3751,14499,14500],{"class":3833},"          showsVerticalScrollIndicator",[3751,14502,3837],{"class":3761},[3751,14504,12920],{"class":3757},[3751,14506,14508],{"class":3753,"line":14507},193,[3751,14509,6813],{"class":3825},[3751,14511,14513,14515,14517],{"class":3753,"line":14512},194,[3751,14514,4579],{"class":3825},[3751,14516,7319],{"class":3829},[3751,14518,4468],{"class":3825},[3751,14520,14522],{"class":3753,"line":14521},195,[3751,14523,5213],{"emptyLinePlaceholder":5212},[3751,14525,14527,14529],{"class":3753,"line":14526},196,[3751,14528,4474],{"class":3825},[3751,14530,13087],{"class":3829},[3751,14532,14534,14536,14538,14540],{"class":3753,"line":14533},197,[3751,14535,13270],{"class":3833},[3751,14537,3837],{"class":3761},[3751,14539,3840],{"class":3757},[3751,14541,13100],{"class":3843},[3751,14543,14545,14547,14549,14552],{"class":3753,"line":14544},198,[3751,14546,13376],{"class":3811},[3751,14548,3601],{"class":3843},[3751,14550,14551],{"class":3811},"footer",[3751,14553,6146],{"class":3843},[3751,14555,14557],{"class":3753,"line":14556},199,[3751,14558,13388],{"class":3843},[3751,14560,14562,14564,14566,14568,14570],{"class":3753,"line":14561},200,[3751,14563,13394],{"class":3811},[3751,14565,12688],{"class":3811},[3751,14567,3601],{"class":3843},[3751,14569,12693],{"class":3811},[3751,14571,6146],{"class":3843},[3751,14573,14575,14577,14579,14581,14583],{"class":3753,"line":14574},201,[3751,14576,13408],{"class":3811},[3751,14578,12688],{"class":3811},[3751,14580,3601],{"class":3843},[3751,14582,12756],{"class":3811},[3751,14584,6146],{"class":3843},[3751,14586,14588,14590,14592,14594,14596],{"class":3753,"line":14587},202,[3751,14589,13422],{"class":3811},[3751,14591,12688],{"class":3811},[3751,14593,3601],{"class":3843},[3751,14595,12693],{"class":3811},[3751,14597,6146],{"class":3843},[3751,14599,14601,14604,14606,14608,14610],{"class":3753,"line":14600},203,[3751,14602,14603],{"class":3811},"            borderTopColor:",[3751,14605,11021],{"class":3811},[3751,14607,3601],{"class":3843},[3751,14609,11482],{"class":3811},[3751,14611,6146],{"class":3843},[3751,14613,14615,14618,14620,14622,14624],{"class":3753,"line":14614},204,[3751,14616,14617],{"class":3811},"            backgroundColor:",[3751,14619,11021],{"class":3811},[3751,14621,3601],{"class":3843},[3751,14623,11026],{"class":3811},[3751,14625,6146],{"class":3843},[3751,14627,14629],{"class":3753,"line":14628},205,[3751,14630,13465],{"class":3843},[3751,14632,14634,14636],{"class":3753,"line":14633},206,[3751,14635,13471],{"class":3843},[3751,14637,4605],{"class":3757},[3751,14639,14641],{"class":3753,"line":14640},207,[3751,14642,6723],{"class":3825},[3751,14644,14646,14648],{"class":3753,"line":14645},208,[3751,14647,4484],{"class":3825},[3751,14649,14650],{"class":3829},"Button\n",[3751,14652,14654,14657,14659],{"class":3753,"line":14653},209,[3751,14655,14656],{"class":3833},"          label",[3751,14658,3837],{"class":3761},[3751,14660,14661],{"class":3784},"\"Нова поїздка\"\n",[3751,14663,14665,14668,14670,14672,14674,14676],{"class":3753,"line":14664},210,[3751,14666,14667],{"class":3833},"          onPress",[3751,14669,3837],{"class":3761},[3751,14671,3840],{"class":3757},[3751,14673,3844],{"class":3843},[3751,14675,3847],{"class":3757},[3751,14677,6493],{"class":3843},[3751,14679,14681,14684,14686,14688,14690,14692],{"class":3753,"line":14680},211,[3751,14682,14683],{"class":3811},"            router",[3751,14685,3601],{"class":3843},[3751,14687,3639],{"class":3777},[3751,14689,3853],{"class":3843},[3751,14691,5486],{"class":3784},[3751,14693,3799],{"class":3843},[3751,14695,14697,14699],{"class":3753,"line":14696},212,[3751,14698,6806],{"class":3843},[3751,14700,4605],{"class":3757},[3751,14702,14704],{"class":3753,"line":14703},213,[3751,14705,6813],{"class":3825},[3751,14707,14709,14711,14713],{"class":3753,"line":14708},214,[3751,14710,4579],{"class":3825},[3751,14712,7319],{"class":3829},[3751,14714,4468],{"class":3825},[3751,14716,14718,14720,14722],{"class":3753,"line":14717},215,[3751,14719,4589],{"class":3825},[3751,14721,4229],{"class":3829},[3751,14723,4468],{"class":3825},[3751,14725,14727],{"class":3753,"line":14726},216,[3751,14728,4599],{"class":3761},[3751,14730,14732],{"class":3753,"line":14731},217,[3751,14733,4605],{"class":3761},[3751,14735,14737],{"class":3753,"line":14736},218,[3751,14738,5213],{"emptyLinePlaceholder":5212},[3751,14740,14742,14744,14746,14748,14750,14752,14754],{"class":3753,"line":14741},219,[3751,14743,3758],{"class":3757},[3751,14745,7903],{"class":3765},[3751,14747,5457],{"class":3761},[3751,14749,7310],{"class":3811},[3751,14751,3601],{"class":3761},[3751,14753,7912],{"class":3777},[3751,14755,7915],{"class":3761},[3751,14757,14759,14762],{"class":3753,"line":14758},220,[3751,14760,14761],{"class":3811},"  screen:",[3751,14763,6493],{"class":3761},[3751,14765,14767,14769,14771],{"class":3753,"line":14766},221,[3751,14768,7948],{"class":3811},[3751,14770,12728],{"class":7005},[3751,14772,6146],{"class":3761},[3751,14774,14776],{"class":3753,"line":14775},222,[3751,14777,6198],{"class":3761},[3751,14779,14781,14783],{"class":3753,"line":14780},223,[3751,14782,7941],{"class":3811},[3751,14784,6493],{"class":3761},[3751,14786,14788,14790,14792],{"class":3753,"line":14787},224,[3751,14789,7977],{"class":3811},[3751,14791,7928],{"class":7005},[3751,14793,6146],{"class":3761},[3751,14795,14797],{"class":3753,"line":14796},225,[3751,14798,6198],{"class":3761},[3751,14800,14802,14805],{"class":3753,"line":14801},226,[3751,14803,14804],{"class":3811},"  themeRow:",[3751,14806,6493],{"class":3761},[3751,14808,14810,14813,14816],{"class":3753,"line":14809},227,[3751,14811,14812],{"class":3811},"    flexDirection:",[3751,14814,14815],{"class":3784}," 'row'",[3751,14817,6146],{"class":3761},[3751,14819,14821,14824,14827],{"class":3753,"line":14820},228,[3751,14822,14823],{"class":3811},"    flexWrap:",[3751,14825,14826],{"class":3784}," 'wrap'",[3751,14828,6146],{"class":3761},[3751,14830,14832],{"class":3753,"line":14831},229,[3751,14833,6198],{"class":3761},[3751,14835,14837,14840],{"class":3753,"line":14836},230,[3751,14838,14839],{"class":3811},"  themeChip:",[3751,14841,6493],{"class":3761},[3751,14843,14845,14847,14849],{"class":3753,"line":14844},231,[3751,14846,7948],{"class":3811},[3751,14848,7006],{"class":7005},[3751,14850,6146],{"class":3761},[3751,14852,14854,14857,14859],{"class":3753,"line":14853},232,[3751,14855,14856],{"class":3811},"    paddingVertical:",[3751,14858,7961],{"class":7005},[3751,14860,6146],{"class":3761},[3751,14862,14864,14866,14868],{"class":3753,"line":14863},233,[3751,14865,8093],{"class":3811},[3751,14867,7961],{"class":7005},[3751,14869,6146],{"class":3761},[3751,14871,14873,14875,14877],{"class":3753,"line":14872},234,[3751,14874,8102],{"class":3811},[3751,14876,7928],{"class":7005},[3751,14878,6146],{"class":3761},[3751,14880,14882],{"class":3753,"line":14881},235,[3751,14883,6198],{"class":3761},[3751,14885,14887,14890],{"class":3753,"line":14886},236,[3751,14888,14889],{"class":3811},"  themeChipText:",[3751,14891,6493],{"class":3761},[3751,14893,14895,14897,14899],{"class":3753,"line":14894},237,[3751,14896,8215],{"class":3811},[3751,14898,6688],{"class":3784},[3751,14900,6146],{"class":3761},[3751,14902,14904],{"class":3753,"line":14903},238,[3751,14905,6198],{"class":3761},[3751,14907,14909,14912],{"class":3753,"line":14908},239,[3751,14910,14911],{"class":3811},"  listWrap:",[3751,14913,6493],{"class":3761},[3751,14915,14917,14919,14921],{"class":3753,"line":14916},240,[3751,14918,9402],{"class":3811},[3751,14920,7928],{"class":7005},[3751,14922,6146],{"class":3761},[3751,14924,14926],{"class":3753,"line":14925},241,[3751,14927,6198],{"class":3761},[3751,14929,14931,14934],{"class":3753,"line":14930},242,[3751,14932,14933],{"class":3811},"  empty:",[3751,14935,6493],{"class":3761},[3751,14937,14939,14941,14943],{"class":3753,"line":14938},243,[3751,14940,9429],{"class":3811},[3751,14942,9422],{"class":3784},[3751,14944,6146],{"class":3761},[3751,14946,14948,14950,14952],{"class":3753,"line":14947},244,[3751,14949,9419],{"class":3811},[3751,14951,9422],{"class":3784},[3751,14953,6146],{"class":3761},[3751,14955,14957],{"class":3753,"line":14956},245,[3751,14958,6198],{"class":3761},[3751,14960,14962,14965],{"class":3753,"line":14961},246,[3751,14963,14964],{"class":3811},"  emptyTitle:",[3751,14966,6493],{"class":3761},[3751,14968,14970,14973,14975],{"class":3753,"line":14969},247,[3751,14971,14972],{"class":3811},"    textAlign:",[3751,14974,9422],{"class":3784},[3751,14976,6146],{"class":3761},[3751,14978,14980],{"class":3753,"line":14979},248,[3751,14981,6198],{"class":3761},[3751,14983,14985,14988],{"class":3753,"line":14984},249,[3751,14986,14987],{"class":3811},"  emptyDesc:",[3751,14989,6493],{"class":3761},[3751,14991,14993,14995,14997],{"class":3753,"line":14992},250,[3751,14994,14972],{"class":3811},[3751,14996,9422],{"class":3784},[3751,14998,6146],{"class":3761},[3751,15000,15002],{"class":3753,"line":15001},251,[3751,15003,6198],{"class":3761},[3751,15005,15007,15010],{"class":3753,"line":15006},252,[3751,15008,15009],{"class":3811},"  footer:",[3751,15011,6493],{"class":3761},[3751,15013,15015,15018,15020],{"class":3753,"line":15014},253,[3751,15016,15017],{"class":3811},"    borderTopWidth:",[3751,15019,7928],{"class":7005},[3751,15021,6146],{"class":3761},[3751,15023,15025],{"class":3753,"line":15024},254,[3751,15026,6198],{"class":3761},[3751,15028,15030],{"class":3753,"line":15029},255,[3751,15031,8240],{"class":3761},[3742,15033,15035],{"className":3744,"code":15034,"filename":5077,"language":3746,"meta":3747,"style":3747},"import { useCallback, useState } from 'react';\nimport { FlatList, StyleSheet, View } from 'react-native';\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 { colors, spacing } = useTheme();\n  const [places] = useState\u003CPlace[]>(mockPlaces);\n\n  const handleOpenPlace = useCallback((place: Place) => {\n    console.log('TODO: відкрити місце', place.id, place.name);\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",[3521,15036,15037,15057,15081,15085,15111,15127,15147,15151,15155,15160,15164,15177,15195,15217,15221,15245,15275,15279,15283,15289,15311,15317,15327,15337,15341,15353,15365,15377,15389,15393,15399,15403,15425,15459,15474,15482,15490,15494,15500,15512,15536,15550,15561,15573,15585,15591,15601,15614,15627,15639,15645,15663,15686,15714,15722,15728,15737,15759,15787,15792,15800,15842,15847,15855,15863,15868,15877,15881,15889,15893,15897,15901,15917,15923,15931,15935,15941,15949,15953,15960,15968,15972,15978,15986,15995,15999,16005,16013,16017],{"__ignoreMap":3747},[3751,15038,15039,15041,15043,15045,15047,15049,15051,15053,15055],{"class":3753,"line":3754},[3751,15040,5173],{"class":3805},[3751,15042,5176],{"class":3761},[3751,15044,11863],{"class":3811},[3751,15046,3640],{"class":3761},[3751,15048,3778],{"class":3811},[3751,15050,5181],{"class":3761},[3751,15052,5184],{"class":3805},[3751,15054,11874],{"class":3784},[3751,15056,3867],{"class":3761},[3751,15058,15059,15061,15063,15065,15067,15069,15071,15073,15075,15077,15079],{"class":3753,"line":3802},[3751,15060,5173],{"class":3805},[3751,15062,5176],{"class":3761},[3751,15064,7301],{"class":3811},[3751,15066,3640],{"class":3761},[3751,15068,7310],{"class":3811},[3751,15070,3640],{"class":3761},[3751,15072,7319],{"class":3811},[3751,15074,5181],{"class":3761},[3751,15076,5184],{"class":3805},[3751,15078,5205],{"class":3784},[3751,15080,3867],{"class":3761},[3751,15082,15083],{"class":3753,"line":3870},[3751,15084,5213],{"emptyLinePlaceholder":5212},[3751,15086,15087,15089,15091,15093,15095,15097,15099,15101,15103,15105,15107,15109],{"class":3753,"line":4471},[3751,15088,5173],{"class":3805},[3751,15090,5176],{"class":3761},[3751,15092,12279],{"class":3811},[3751,15094,3640],{"class":3761},[3751,15096,12877],{"class":3811},[3751,15098,3640],{"class":3761},[3751,15100,12042],{"class":3805},[3751,15102,12008],{"class":3811},[3751,15104,5181],{"class":3761},[3751,15106,5184],{"class":3805},[3751,15108,10867],{"class":3784},[3751,15110,3867],{"class":3761},[3751,15112,15113,15115,15117,15119,15121,15123,15125],{"class":3753,"line":4481},[3751,15114,5173],{"class":3805},[3751,15116,5176],{"class":3761},[3751,15118,10882],{"class":3811},[3751,15120,5181],{"class":3761},[3751,15122,5184],{"class":3805},[3751,15124,10889],{"class":3784},[3751,15126,3867],{"class":3761},[3751,15128,15129,15131,15133,15135,15137,15139,15141,15143,15145],{"class":3753,"line":4491},[3751,15130,5173],{"class":3805},[3751,15132,5176],{"class":3761},[3751,15134,12062],{"class":3811},[3751,15136,3640],{"class":3761},[3751,15138,4229],{"class":3811},[3751,15140,5181],{"class":3761},[3751,15142,5184],{"class":3805},[3751,15144,12078],{"class":3784},[3751,15146,3867],{"class":3761},[3751,15148,15149],{"class":3753,"line":4532},[3751,15150,5213],{"emptyLinePlaceholder":5212},[3751,15152,15153],{"class":3753,"line":4566},[3751,15154,10900],{"class":5471},[3751,15156,15157],{"class":3753,"line":4576},[3751,15158,15159],{"class":5471}," * Вкладка «Місця» — повний список місць (раніше лише горизонтальна стрічка на home).\n",[3751,15161,15162],{"class":3753,"line":4586},[3751,15163,10915],{"class":5471},[3751,15165,15166,15168,15170,15172,15175],{"class":3753,"line":4596},[3751,15167,4438],{"class":3805},[3751,15169,4441],{"class":3805},[3751,15171,4444],{"class":3757},[3751,15173,15174],{"class":3777}," PlacesScreen",[3751,15176,4450],{"class":3761},[3751,15178,15179,15181,15183,15185,15187,15189,15191,15193],{"class":3753,"line":4602},[3751,15180,8859],{"class":3757},[3751,15182,5176],{"class":3761},[3751,15184,10934],{"class":3765},[3751,15186,3640],{"class":3761},[3751,15188,12236],{"class":3765},[3751,15190,8866],{"class":3761},[3751,15192,10882],{"class":3777},[3751,15194,5462],{"class":3761},[3751,15196,15197,15199,15201,15203,15205,15207,15209,15211,15213,15215],{"class":3753,"line":6159},[3751,15198,8859],{"class":3757},[3751,15200,3762],{"class":3761},[3751,15202,4954],{"class":3765},[3751,15204,3774],{"class":3761},[3751,15206,3778],{"class":3777},[3751,15208,3781],{"class":3761},[3751,15210,12273],{"class":3829},[3751,15212,12276],{"class":3761},[3751,15214,12279],{"class":3811},[3751,15216,3799],{"class":3761},[3751,15218,15219],{"class":3753,"line":6170},[3751,15220,5213],{"emptyLinePlaceholder":5212},[3751,15222,15223,15225,15227,15229,15231,15233,15235,15237,15239,15241,15243],{"class":3753,"line":6181},[3751,15224,8859],{"class":3757},[3751,15226,12385],{"class":3765},[3751,15228,5457],{"class":3761},[3751,15230,11863],{"class":3777},[3751,15232,6508],{"class":3761},[3751,15234,12394],{"class":3811},[3751,15236,4806],{"class":3761},[3751,15238,12273],{"class":3829},[3751,15240,3819],{"class":3761},[3751,15242,3847],{"class":3757},[3751,15244,6493],{"class":3761},[3751,15246,15247,15249,15251,15253,15255,15257,15259,15261,15263,15265,15267,15269,15271,15273],{"class":3753,"line":6187},[3751,15248,12341],{"class":3811},[3751,15250,3601],{"class":3761},[3751,15252,12346],{"class":3777},[3751,15254,3853],{"class":3761},[3751,15256,12417],{"class":3784},[3751,15258,3640],{"class":3761},[3751,15260,12394],{"class":3811},[3751,15262,3601],{"class":3761},[3751,15264,6476],{"class":3811},[3751,15266,3640],{"class":3761},[3751,15268,12394],{"class":3811},[3751,15270,3601],{"class":3761},[3751,15272,4801],{"class":3811},[3751,15274,3799],{"class":3761},[3751,15276,15277],{"class":3753,"line":6195},[3751,15278,12374],{"class":3761},[3751,15280,15281],{"class":3753,"line":6201},[3751,15282,5213],{"emptyLinePlaceholder":5212},[3751,15284,15285,15287],{"class":3753,"line":6206},[3751,15286,4455],{"class":3805},[3751,15288,4458],{"class":3761},[3751,15290,15291,15293,15295,15297,15299,15301,15303,15305,15307,15309],{"class":3753,"line":6216},[3751,15292,4463],{"class":3825},[3751,15294,4229],{"class":3829},[3751,15296,5301],{"class":3833},[3751,15298,3837],{"class":3761},[3751,15300,3840],{"class":3757},[3751,15302,5308],{"class":3811},[3751,15304,3601],{"class":3843},[3751,15306,3766],{"class":3811},[3751,15308,3861],{"class":3757},[3751,15310,4468],{"class":3825},[3751,15312,15313,15315],{"class":3753,"line":6226},[3751,15314,4474],{"class":3825},[3751,15316,13087],{"class":3829},[3751,15318,15319,15321,15323,15325],{"class":3753,"line":6236},[3751,15320,13270],{"class":3833},[3751,15322,3837],{"class":3761},[3751,15324,3840],{"class":3757},[3751,15326,13100],{"class":3843},[3751,15328,15329,15331,15333,15335],{"class":3753,"line":6246},[3751,15330,13376],{"class":3811},[3751,15332,3601],{"class":3843},[3751,15334,4773],{"class":3811},[3751,15336,6146],{"class":3843},[3751,15338,15339],{"class":3753,"line":6251},[3751,15340,13388],{"class":3843},[3751,15342,15343,15345,15347,15349,15351],{"class":3753,"line":6259},[3751,15344,13394],{"class":3811},[3751,15346,12688],{"class":3811},[3751,15348,3601],{"class":3843},[3751,15350,12693],{"class":3811},[3751,15352,6146],{"class":3843},[3751,15354,15355,15357,15359,15361,15363],{"class":3753,"line":6264},[3751,15356,13408],{"class":3811},[3751,15358,12688],{"class":3811},[3751,15360,3601],{"class":3843},[3751,15362,12756],{"class":3811},[3751,15364,6146],{"class":3843},[3751,15366,15367,15369,15371,15373,15375],{"class":3753,"line":6269},[3751,15368,13422],{"class":3811},[3751,15370,12688],{"class":3811},[3751,15372,3601],{"class":3843},[3751,15374,12693],{"class":3811},[3751,15376,6146],{"class":3843},[3751,15378,15379,15381,15383,15385,15387],{"class":3753,"line":6279},[3751,15380,13451],{"class":3811},[3751,15382,11021],{"class":3811},[3751,15384,3601],{"class":3843},[3751,15386,11482],{"class":3811},[3751,15388,6146],{"class":3843},[3751,15390,15391],{"class":3753,"line":6289},[3751,15392,13465],{"class":3843},[3751,15394,15395,15397],{"class":3753,"line":6299},[3751,15396,13471],{"class":3843},[3751,15398,4605],{"class":3757},[3751,15400,15401],{"class":3753,"line":6309},[3751,15402,6723],{"class":3825},[3751,15404,15405,15407,15409,15411,15413,15415,15417,15419,15421,15423],{"class":3753,"line":6314},[3751,15406,4484],{"class":3825},[3751,15408,12062],{"class":3829},[3751,15410,13190],{"class":3833},[3751,15412,3837],{"class":3761},[3751,15414,13492],{"class":3784},[3751,15416,5239],{"class":3825},[3751,15418,9841],{"class":3761},[3751,15420,5245],{"class":3825},[3751,15422,12062],{"class":3829},[3751,15424,4468],{"class":3825},[3751,15426,15427,15429,15431,15433,15435,15437,15439,15441,15443,15445,15447,15449,15451,15453,15455,15457],{"class":3753,"line":6322},[3751,15428,4484],{"class":3825},[3751,15430,12062],{"class":3829},[3751,15432,13190],{"class":3833},[3751,15434,3837],{"class":3761},[3751,15436,13517],{"class":3784},[3751,15438,5301],{"class":3833},[3751,15440,3837],{"class":3761},[3751,15442,3840],{"class":3757},[3751,15444,4515],{"class":3843},[3751,15446,8031],{"class":3811},[3751,15448,12688],{"class":3811},[3751,15450,3601],{"class":3843},[3751,15452,13443],{"class":3811},[3751,15454,4524],{"class":3843},[3751,15456,3861],{"class":3757},[3751,15458,4468],{"class":3825},[3751,15460,15461,15464,15466,15468,15470,15472],{"class":3753,"line":6327},[3751,15462,15463],{"class":3761},"          Усі збережені точки з mock-даних · ",[3751,15465,3840],{"class":3757},[3751,15467,4954],{"class":3811},[3751,15469,3601],{"class":3843},[3751,15471,7531],{"class":3811},[3751,15473,4605],{"class":3757},[3751,15475,15476,15478,15480],{"class":3753,"line":6332},[3751,15477,4569],{"class":3825},[3751,15479,12062],{"class":3829},[3751,15481,4468],{"class":3825},[3751,15483,15484,15486,15488],{"class":3753,"line":6342},[3751,15485,4579],{"class":3825},[3751,15487,7319],{"class":3829},[3751,15489,4468],{"class":3825},[3751,15491,15492],{"class":3753,"line":6352},[3751,15493,5213],{"emptyLinePlaceholder":5212},[3751,15495,15496,15498],{"class":3753,"line":6362},[3751,15497,4474],{"class":3825},[3751,15499,7561],{"class":3829},[3751,15501,15502,15504,15506,15508,15510],{"class":3753,"line":6372},[3751,15503,7566],{"class":3833},[3751,15505,3837],{"class":3761},[3751,15507,3840],{"class":3757},[3751,15509,4954],{"class":3811},[3751,15511,4605],{"class":3757},[3751,15513,15514,15516,15518,15520,15522,15524,15526,15528,15530,15532,15534],{"class":3753,"line":6377},[3751,15515,7579],{"class":3833},[3751,15517,3837],{"class":3761},[3751,15519,3840],{"class":3757},[3751,15521,3853],{"class":3843},[3751,15523,7588],{"class":3811},[3751,15525,3819],{"class":3843},[3751,15527,3847],{"class":3757},[3751,15529,7595],{"class":3811},[3751,15531,3601],{"class":3843},[3751,15533,6476],{"class":3811},[3751,15535,4605],{"class":3757},[3751,15537,15538,15541,15543,15545,15548],{"class":3753,"line":6385},[3751,15539,15540],{"class":3833},"        numColumns",[3751,15542,3837],{"class":3761},[3751,15544,3840],{"class":3757},[3751,15546,15547],{"class":7005},"2",[3751,15549,4605],{"class":3757},[3751,15551,15552,15555,15557,15559],{"class":3753,"line":6390},[3751,15553,15554],{"class":3833},"        columnWrapperStyle",[3751,15556,3837],{"class":3761},[3751,15558,3840],{"class":3757},[3751,15560,6649],{"class":3843},[3751,15562,15563,15565,15567,15569,15571],{"class":3753,"line":6395},[3751,15564,13154],{"class":3811},[3751,15566,12688],{"class":3811},[3751,15568,3601],{"class":3843},[3751,15570,12756],{"class":3811},[3751,15572,6146],{"class":3843},[3751,15574,15575,15577,15579,15581,15583],{"class":3753,"line":6405},[3751,15576,13125],{"class":3811},[3751,15578,12688],{"class":3811},[3751,15580,3601],{"class":3843},[3751,15582,12693],{"class":3811},[3751,15584,6146],{"class":3843},[3751,15586,15587,15589],{"class":3753,"line":6415},[3751,15588,6716],{"class":3843},[3751,15590,4605],{"class":3757},[3751,15592,15593,15595,15597,15599],{"class":3753,"line":6425},[3751,15594,7606],{"class":3833},[3751,15596,3837],{"class":3761},[3751,15598,3840],{"class":3757},[3751,15600,6649],{"class":3843},[3751,15602,15603,15606,15608,15610,15612],{"class":3753,"line":6435},[3751,15604,15605],{"class":3811},"          paddingTop:",[3751,15607,12688],{"class":3811},[3751,15609,3601],{"class":3843},[3751,15611,12693],{"class":3811},[3751,15613,6146],{"class":3843},[3751,15615,15616,15619,15621,15623,15625],{"class":3753,"line":6440},[3751,15617,15618],{"class":3811},"          paddingBottom:",[3751,15620,12688],{"class":3811},[3751,15622,3601],{"class":3843},[3751,15624,13146],{"class":3811},[3751,15626,6146],{"class":3843},[3751,15628,15629,15631,15633,15635,15637],{"class":3753,"line":6448},[3751,15630,13154],{"class":3811},[3751,15632,12688],{"class":3811},[3751,15634,3601],{"class":3843},[3751,15636,12756],{"class":3811},[3751,15638,6146],{"class":3843},[3751,15640,15641,15643],{"class":3753,"line":6453},[3751,15642,6716],{"class":3843},[3751,15644,4605],{"class":3757},[3751,15646,15647,15649,15651,15653,15655,15657,15659,15661],{"class":3753,"line":6459},[3751,15648,7663],{"class":3833},[3751,15650,3837],{"class":3761},[3751,15652,3840],{"class":3757},[3751,15654,7670],{"class":3843},[3751,15656,7588],{"class":3811},[3751,15658,7084],{"class":3843},[3751,15660,3847],{"class":3757},[3751,15662,4458],{"class":3843},[3751,15664,15665,15667,15669,15671,15673,15675,15677,15679,15682,15684],{"class":3753,"line":6464},[3751,15666,4494],{"class":3825},[3751,15668,7319],{"class":3829},[3751,15670,5301],{"class":3833},[3751,15672,3837],{"class":3761},[3751,15674,3840],{"class":3757},[3751,15676,5308],{"class":3811},[3751,15678,3601],{"class":3843},[3751,15680,15681],{"class":3811},"cell",[3751,15683,3861],{"class":3757},[3751,15685,4468],{"class":3825},[3751,15687,15688,15690,15692,15694,15696,15698,15700,15702,15704,15706,15708,15710,15712],{"class":3753,"line":6496},[3751,15689,7093],{"class":3825},[3751,15691,12877],{"class":3829},[3751,15693,12880],{"class":3833},[3751,15695,3837],{"class":3761},[3751,15697,3840],{"class":3757},[3751,15699,7588],{"class":3811},[3751,15701,3861],{"class":3757},[3751,15703,12587],{"class":3833},[3751,15705,3837],{"class":3761},[3751,15707,3840],{"class":3757},[3751,15709,12897],{"class":3811},[3751,15711,3861],{"class":3757},[3751,15713,4529],{"class":3825},[3751,15715,15716,15718,15720],{"class":3753,"line":6531},[3751,15717,7861],{"class":3825},[3751,15719,7319],{"class":3829},[3751,15721,4468],{"class":3825},[3751,15723,15724,15726],{"class":3753,"line":8184},[3751,15725,7870],{"class":3843},[3751,15727,4605],{"class":3757},[3751,15729,15730,15733,15735],{"class":3753,"line":8192},[3751,15731,15732],{"class":3833},"        ListEmptyComponent",[3751,15734,3837],{"class":3761},[3751,15736,6649],{"class":3757},[3751,15738,15739,15741,15743,15745,15747,15749,15751,15753,15755,15757],{"class":3753,"line":8202},[3751,15740,4494],{"class":3825},[3751,15742,7319],{"class":3829},[3751,15744,5301],{"class":3833},[3751,15746,3837],{"class":3761},[3751,15748,3840],{"class":3757},[3751,15750,5308],{"class":3811},[3751,15752,3601],{"class":3843},[3751,15754,13111],{"class":3811},[3751,15756,3861],{"class":3757},[3751,15758,4468],{"class":3825},[3751,15760,15761,15763,15765,15767,15769,15771,15773,15775,15777,15779,15781,15783,15785],{"class":3753,"line":8212},[3751,15762,7093],{"class":3825},[3751,15764,12062],{"class":3829},[3751,15766,13190],{"class":3833},[3751,15768,3837],{"class":3761},[3751,15770,13195],{"class":3784},[3751,15772,5301],{"class":3833},[3751,15774,3837],{"class":3761},[3751,15776,3840],{"class":3757},[3751,15778,5308],{"class":3811},[3751,15780,3601],{"class":3843},[3751,15782,8990],{"class":3811},[3751,15784,3861],{"class":3757},[3751,15786,4468],{"class":3825},[3751,15788,15789],{"class":3753,"line":8222},[3751,15790,15791],{"class":3843},"              Місць поки немає\n",[3751,15793,15794,15796,15798],{"class":3753,"line":8232},[3751,15795,7852],{"class":3825},[3751,15797,12062],{"class":3829},[3751,15799,4468],{"class":3825},[3751,15801,15802,15804,15806,15808,15810,15812,15814,15816,15818,15820,15822,15824,15826,15828,15830,15832,15834,15836,15838,15840],{"class":3753,"line":8237},[3751,15803,7093],{"class":3825},[3751,15805,12062],{"class":3829},[3751,15807,13190],{"class":3833},[3751,15809,3837],{"class":3761},[3751,15811,13517],{"class":3784},[3751,15813,7116],{"class":3833},[3751,15815,3837],{"class":3761},[3751,15817,3840],{"class":3757},[3751,15819,10934],{"class":3811},[3751,15821,3601],{"class":3843},[3751,15823,4980],{"class":3811},[3751,15825,3861],{"class":3757},[3751,15827,5301],{"class":3833},[3751,15829,3837],{"class":3761},[3751,15831,3840],{"class":3757},[3751,15833,5308],{"class":3811},[3751,15835,3601],{"class":3843},[3751,15837,8990],{"class":3811},[3751,15839,3861],{"class":3757},[3751,15841,4468],{"class":3825},[3751,15843,15844],{"class":3753,"line":12660},[3751,15845,15846],{"class":3843},"              Вони з’являться разом із поїздками.\n",[3751,15848,15849,15851,15853],{"class":3753,"line":12671},[3751,15850,7852],{"class":3825},[3751,15852,12062],{"class":3829},[3751,15854,4468],{"class":3825},[3751,15856,15857,15859,15861],{"class":3753,"line":12713},[3751,15858,7861],{"class":3825},[3751,15860,7319],{"class":3829},[3751,15862,4468],{"class":3825},[3751,15864,15865],{"class":3753,"line":12735},[3751,15866,15867],{"class":3757},"        }\n",[3751,15869,15870,15873,15875],{"class":3753,"line":12765},[3751,15871,15872],{"class":3833},"        showsVerticalScrollIndicator",[3751,15874,3837],{"class":3761},[3751,15876,12920],{"class":3757},[3751,15878,15879],{"class":3753,"line":12799},[3751,15880,7142],{"class":3825},[3751,15882,15883,15885,15887],{"class":3753,"line":12806},[3751,15884,4589],{"class":3825},[3751,15886,4229],{"class":3829},[3751,15888,4468],{"class":3825},[3751,15890,15891],{"class":3753,"line":12812},[3751,15892,4599],{"class":3761},[3751,15894,15895],{"class":3753,"line":12826},[3751,15896,4605],{"class":3761},[3751,15898,15899],{"class":3753,"line":12852},[3751,15900,5213],{"emptyLinePlaceholder":5212},[3751,15902,15903,15905,15907,15909,15911,15913,15915],{"class":3753,"line":12872},[3751,15904,3758],{"class":3757},[3751,15906,7903],{"class":3765},[3751,15908,5457],{"class":3761},[3751,15910,7310],{"class":3811},[3751,15912,3601],{"class":3761},[3751,15914,7912],{"class":3777},[3751,15916,7915],{"class":3761},[3751,15918,15919,15921],{"class":3753,"line":12904},[3751,15920,14761],{"class":3811},[3751,15922,6493],{"class":3761},[3751,15924,15925,15927,15929],{"class":3753,"line":12912},[3751,15926,7948],{"class":3811},[3751,15928,12728],{"class":7005},[3751,15930,6146],{"class":3761},[3751,15932,15933],{"class":3753,"line":12923},[3751,15934,6198],{"class":3761},[3751,15936,15937,15939],{"class":3753,"line":12966},[3751,15938,7941],{"class":3811},[3751,15940,6493],{"class":3761},[3751,15942,15943,15945,15947],{"class":3753,"line":12988},[3751,15944,7977],{"class":3811},[3751,15946,7928],{"class":7005},[3751,15948,6146],{"class":3761},[3751,15950,15951],{"class":3753,"line":12994},[3751,15952,6198],{"class":3761},[3751,15954,15955,15958],{"class":3753,"line":13003},[3751,15956,15957],{"class":3811},"  cell:",[3751,15959,6493],{"class":3761},[3751,15961,15962,15964,15966],{"class":3753,"line":13014},[3751,15963,9402],{"class":3811},[3751,15965,7928],{"class":7005},[3751,15967,6146],{"class":3761},[3751,15969,15970],{"class":3753,"line":13019},[3751,15971,6198],{"class":3761},[3751,15973,15974,15976],{"class":3753,"line":13053},[3751,15975,14933],{"class":3811},[3751,15977,6493],{"class":3761},[3751,15979,15980,15982,15984],{"class":3753,"line":13062},[3751,15981,8120],{"class":3811},[3751,15983,8069],{"class":7005},[3751,15985,6146],{"class":3761},[3751,15987,15988,15991,15993],{"class":3753,"line":13067},[3751,15989,15990],{"class":3811},"    gap:",[3751,15992,7961],{"class":7005},[3751,15994,6146],{"class":3761},[3751,15996,15997],{"class":3753,"line":13072},[3751,15998,6198],{"class":3761},[3751,16000,16001,16003],{"class":3753,"line":13082},[3751,16002,9395],{"class":3811},[3751,16004,6493],{"class":3761},[3751,16006,16007,16009,16011],{"class":3753,"line":13090},[3751,16008,14972],{"class":3811},[3751,16010,9422],{"class":3784},[3751,16012,6146],{"class":3761},[3751,16014,16015],{"class":3753,"line":13103},[3751,16016,6198],{"class":3761},[3751,16018,16019],{"class":3753,"line":13116},[3751,16020,8240],{"class":3761},[3742,16022,16024],{"className":3744,"code":16023,"filename":5088,"language":3746,"meta":3747,"style":3747},"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            \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",[3521,16025,16026,16054,16070,16074,16096,16116,16120,16144,16160,16176,16192,16196,16200,16204,16209,16213,16225,16255,16259,16265,16287,16294,16304,16316,16328,16340,16352,16358,16366,16370,16392,16420,16432,16455,16463,16467,16473,16483,16494,16499,16512,16525,16538,16551,16556,16563,16567,16600,16628,16633,16638,16646,16682,16703,16724,16731,16737,16754,16781,16791,16802,16807,16832,16845,16850,16857,16866,16885,16910,16914,16921,16930,16959,16976,16981,16994,17003,17011,17016,17023,17031,17039,17043,17049,17059,17069,17073,17085,17097,17109,17121,17125,17131,17135,17168,17196,17201,17206,17211,17219,17235,17241,17252,17264,17269,17282,17300,17309,17314,17321,17326,17364,17369,17377,17385,17393,17401,17405,17433,17438,17446,17454,17462,17466,17470,17474,17490,17496,17504,17508,17514,17522,17530,17534,17540,17548,17556,17560,17566,17574,17582,17590,17598,17602,17608,17616,17620,17627,17635,17639],{"__ignoreMap":3747},[3751,16027,16028,16030,16032,16034,16036,16038,16040,16042,16044,16046,16048,16050,16052],{"class":3753,"line":3754},[3751,16029,5173],{"class":3805},[3751,16031,5176],{"class":3761},[3751,16033,5298],{"class":3811},[3751,16035,3640],{"class":3761},[3751,16037,8268],{"class":3811},[3751,16039,3640],{"class":3761},[3751,16041,7310],{"class":3811},[3751,16043,3640],{"class":3761},[3751,16045,7319],{"class":3811},[3751,16047,5181],{"class":3761},[3751,16049,5184],{"class":3805},[3751,16051,5205],{"class":3784},[3751,16053,3867],{"class":3761},[3751,16055,16056,16058,16060,16062,16064,16066,16068],{"class":3753,"line":3802},[3751,16057,5173],{"class":3805},[3751,16059,5176],{"class":3761},[3751,16061,3629],{"class":3811},[3751,16063,5181],{"class":3761},[3751,16065,5184],{"class":3805},[3751,16067,5187],{"class":3784},[3751,16069,3867],{"class":3761},[3751,16071,16072],{"class":3753,"line":3870},[3751,16073,5213],{"emptyLinePlaceholder":5212},[3751,16075,16076,16078,16080,16082,16084,16086,16088,16090,16092,16094],{"class":3753,"line":4471},[3751,16077,5173],{"class":3805},[3751,16079,5176],{"class":3761},[3751,16081,10882],{"class":3811},[3751,16083,3640],{"class":3761},[3751,16085,12042],{"class":3805},[3751,16087,12045],{"class":3811},[3751,16089,5181],{"class":3761},[3751,16091,5184],{"class":3805},[3751,16093,10889],{"class":3784},[3751,16095,3867],{"class":3761},[3751,16097,16098,16100,16102,16104,16106,16108,16110,16112,16114],{"class":3753,"line":4481},[3751,16099,5173],{"class":3805},[3751,16101,5176],{"class":3761},[3751,16103,12062],{"class":3811},[3751,16105,3640],{"class":3761},[3751,16107,4229],{"class":3811},[3751,16109,5181],{"class":3761},[3751,16111,5184],{"class":3805},[3751,16113,12078],{"class":3784},[3751,16115,3867],{"class":3761},[3751,16117,16118],{"class":3753,"line":4491},[3751,16119,5213],{"emptyLinePlaceholder":5212},[3751,16121,16122,16124,16126,16128,16130,16132,16134,16136,16138,16140,16142],{"class":3753,"line":4532},[3751,16123,3758],{"class":3757},[3751,16125,12091],{"class":3765},[3751,16127,12094],{"class":3761},[3751,16129,6476],{"class":3811},[3751,16131,4806],{"class":3761},[3751,16133,12101],{"class":3829},[3751,16135,12104],{"class":3761},[3751,16137,12107],{"class":3811},[3751,16139,4806],{"class":3761},[3751,16141,6057],{"class":3829},[3751,16143,12114],{"class":3761},[3751,16145,16146,16148,16150,16152,16154,16156,16158],{"class":3753,"line":4566},[3751,16147,12119],{"class":3761},[3751,16149,12122],{"class":3811},[3751,16151,12125],{"class":3784},[3751,16153,3640],{"class":3761},[3751,16155,12130],{"class":3811},[3751,16157,12133],{"class":3784},[3751,16159,6665],{"class":3761},[3751,16161,16162,16164,16166,16168,16170,16172,16174],{"class":3753,"line":4576},[3751,16163,12119],{"class":3761},[3751,16165,12122],{"class":3811},[3751,16167,10985],{"class":3784},[3751,16169,3640],{"class":3761},[3751,16171,12130],{"class":3811},[3751,16173,12150],{"class":3784},[3751,16175,6665],{"class":3761},[3751,16177,16178,16180,16182,16184,16186,16188,16190],{"class":3753,"line":4586},[3751,16179,12119],{"class":3761},[3751,16181,12122],{"class":3811},[3751,16183,10979],{"class":3784},[3751,16185,3640],{"class":3761},[3751,16187,12130],{"class":3811},[3751,16189,12167],{"class":3784},[3751,16191,6665],{"class":3761},[3751,16193,16194],{"class":3753,"line":4596},[3751,16195,6456],{"class":3761},[3751,16197,16198],{"class":3753,"line":4602},[3751,16199,5213],{"emptyLinePlaceholder":5212},[3751,16201,16202],{"class":3753,"line":6159},[3751,16203,10900],{"class":5471},[3751,16205,16206],{"class":3753,"line":6170},[3751,16207,16208],{"class":5471}," * Вкладка «Ще» — про застосунок, тема, посилання на створення поїздки (Link).\n",[3751,16210,16211],{"class":3753,"line":6181},[3751,16212,10915],{"class":5471},[3751,16214,16215,16217,16219,16221,16223],{"class":3753,"line":6187},[3751,16216,4438],{"class":3805},[3751,16218,4441],{"class":3805},[3751,16220,4444],{"class":3757},[3751,16222,8331],{"class":3777},[3751,16224,4450],{"class":3761},[3751,16226,16227,16229,16231,16233,16235,16237,16239,16241,16243,16245,16247,16249,16251,16253],{"class":3753,"line":6195},[3751,16228,8859],{"class":3757},[3751,16230,5176],{"class":3761},[3751,16232,10934],{"class":3765},[3751,16234,3640],{"class":3761},[3751,16236,12236],{"class":3765},[3751,16238,3640],{"class":3761},[3751,16240,12241],{"class":3765},[3751,16242,3640],{"class":3761},[3751,16244,12246],{"class":3765},[3751,16246,3640],{"class":3761},[3751,16248,10939],{"class":3765},[3751,16250,8866],{"class":3761},[3751,16252,10882],{"class":3777},[3751,16254,5462],{"class":3761},[3751,16256,16257],{"class":3753,"line":6201},[3751,16258,5213],{"emptyLinePlaceholder":5212},[3751,16260,16261,16263],{"class":3753,"line":6206},[3751,16262,4455],{"class":3805},[3751,16264,4458],{"class":3761},[3751,16266,16267,16269,16271,16273,16275,16277,16279,16281,16283,16285],{"class":3753,"line":6216},[3751,16268,4463],{"class":3825},[3751,16270,4229],{"class":3829},[3751,16272,5301],{"class":3833},[3751,16274,3837],{"class":3761},[3751,16276,3840],{"class":3757},[3751,16278,5308],{"class":3811},[3751,16280,3601],{"class":3843},[3751,16282,3766],{"class":3811},[3751,16284,3861],{"class":3757},[3751,16286,4468],{"class":3825},[3751,16288,16289,16291],{"class":3753,"line":6226},[3751,16290,4474],{"class":3825},[3751,16292,16293],{"class":3829},"ScrollView\n",[3751,16295,16296,16298,16300,16302],{"class":3753,"line":6236},[3751,16297,7606],{"class":3833},[3751,16299,3837],{"class":3761},[3751,16301,3840],{"class":3757},[3751,16303,6649],{"class":3843},[3751,16305,16306,16308,16310,16312,16314],{"class":3753,"line":6246},[3751,16307,13125],{"class":3811},[3751,16309,12688],{"class":3811},[3751,16311,3601],{"class":3843},[3751,16313,12693],{"class":3811},[3751,16315,6146],{"class":3843},[3751,16317,16318,16320,16322,16324,16326],{"class":3753,"line":6251},[3751,16319,15605],{"class":3811},[3751,16321,12688],{"class":3811},[3751,16323,3601],{"class":3843},[3751,16325,12756],{"class":3811},[3751,16327,6146],{"class":3843},[3751,16329,16330,16332,16334,16336,16338],{"class":3753,"line":6259},[3751,16331,15618],{"class":3811},[3751,16333,12688],{"class":3811},[3751,16335,3601],{"class":3843},[3751,16337,13146],{"class":3811},[3751,16339,6146],{"class":3843},[3751,16341,16342,16344,16346,16348,16350],{"class":3753,"line":6264},[3751,16343,13154],{"class":3811},[3751,16345,12688],{"class":3811},[3751,16347,3601],{"class":3843},[3751,16349,12693],{"class":3811},[3751,16351,6146],{"class":3843},[3751,16353,16354,16356],{"class":3753,"line":6269},[3751,16355,6716],{"class":3843},[3751,16357,4605],{"class":3757},[3751,16359,16360,16362,16364],{"class":3753,"line":6279},[3751,16361,15872],{"class":3833},[3751,16363,3837],{"class":3761},[3751,16365,12920],{"class":3757},[3751,16367,16368],{"class":3753,"line":6289},[3751,16369,6723],{"class":3825},[3751,16371,16372,16374,16376,16378,16380,16382,16384,16386,16388,16390],{"class":3753,"line":6299},[3751,16373,4484],{"class":3825},[3751,16375,12062],{"class":3829},[3751,16377,13190],{"class":3833},[3751,16379,3837],{"class":3761},[3751,16381,13492],{"class":3784},[3751,16383,5239],{"class":3825},[3751,16385,13497],{"class":3761},[3751,16387,5245],{"class":3825},[3751,16389,12062],{"class":3829},[3751,16391,4468],{"class":3825},[3751,16393,16394,16396,16398,16400,16402,16404,16406,16408,16410,16412,16414,16416,16418],{"class":3753,"line":6309},[3751,16395,4484],{"class":3825},[3751,16397,12062],{"class":3829},[3751,16399,13190],{"class":3833},[3751,16401,3837],{"class":3761},[3751,16403,13517],{"class":3784},[3751,16405,7116],{"class":3833},[3751,16407,3837],{"class":3761},[3751,16409,3840],{"class":3757},[3751,16411,10934],{"class":3811},[3751,16413,3601],{"class":3843},[3751,16415,4980],{"class":3811},[3751,16417,3861],{"class":3757},[3751,16419,4468],{"class":3825},[3751,16421,16422,16425,16427,16430],{"class":3753,"line":6314},[3751,16423,16424],{"class":3761},"          Навчальний щоденник подорожей курсу React Native (Nomad). Тема зараз:",[3751,16426,3840],{"class":3757},[3751,16428,16429],{"class":3784},"' '",[3751,16431,4605],{"class":3757},[3751,16433,16434,16436,16438,16440,16442,16444,16446,16448,16450,16452],{"class":3753,"line":6322},[3751,16435,13660],{"class":3757},[3751,16437,10939],{"class":3811},[3751,16439,10976],{"class":3761},[3751,16441,10979],{"class":3784},[3751,16443,10982],{"class":3761},[3751,16445,13558],{"class":3784},[3751,16447,10988],{"class":3761},[3751,16449,13563],{"class":3784},[3751,16451,3861],{"class":3757},[3751,16453,16454],{"class":3761},".\n",[3751,16456,16457,16459,16461],{"class":3753,"line":6327},[3751,16458,4569],{"class":3825},[3751,16460,12062],{"class":3829},[3751,16462,4468],{"class":3825},[3751,16464,16465],{"class":3753,"line":6332},[3751,16466,5213],{"emptyLinePlaceholder":5212},[3751,16468,16469,16471],{"class":3753,"line":6342},[3751,16470,4484],{"class":3825},[3751,16472,13087],{"class":3829},[3751,16474,16475,16477,16479,16481],{"class":3753,"line":6352},[3751,16476,13597],{"class":3833},[3751,16478,3837],{"class":3761},[3751,16480,3840],{"class":3757},[3751,16482,13100],{"class":3843},[3751,16484,16485,16488,16490,16492],{"class":3753,"line":6362},[3751,16486,16487],{"class":3811},"            styles",[3751,16489,3601],{"class":3843},[3751,16491,4830],{"class":3811},[3751,16493,6146],{"class":3843},[3751,16495,16496],{"class":3753,"line":6372},[3751,16497,16498],{"class":3843},"            {\n",[3751,16500,16501,16504,16506,16508,16510],{"class":3753,"line":6377},[3751,16502,16503],{"class":3811},"              backgroundColor:",[3751,16505,11021],{"class":3811},[3751,16507,3601],{"class":3843},[3751,16509,13949],{"class":3811},[3751,16511,6146],{"class":3843},[3751,16513,16514,16517,16519,16521,16523],{"class":3753,"line":6385},[3751,16515,16516],{"class":3811},"              borderColor:",[3751,16518,11021],{"class":3811},[3751,16520,3601],{"class":3843},[3751,16522,11482],{"class":3811},[3751,16524,6146],{"class":3843},[3751,16526,16527,16530,16532,16534,16536],{"class":3753,"line":6390},[3751,16528,16529],{"class":3811},"              padding:",[3751,16531,12688],{"class":3811},[3751,16533,3601],{"class":3843},[3751,16535,12693],{"class":3811},[3751,16537,6146],{"class":3843},[3751,16539,16540,16543,16545,16547,16549],{"class":3753,"line":6395},[3751,16541,16542],{"class":3811},"              gap:",[3751,16544,12688],{"class":3811},[3751,16546,3601],{"class":3843},[3751,16548,12756],{"class":3811},[3751,16550,6146],{"class":3843},[3751,16552,16553],{"class":3753,"line":6405},[3751,16554,16555],{"class":3843},"            },\n",[3751,16557,16558,16561],{"class":3753,"line":6415},[3751,16559,16560],{"class":3843},"          ]",[3751,16562,4605],{"class":3757},[3751,16564,16565],{"class":3753,"line":6425},[3751,16566,13654],{"class":3825},[3751,16568,16569,16571,16573,16575,16577,16579,16581,16583,16585,16587,16589,16591,16594,16596,16598],{"class":3753,"line":6435},[3751,16570,4494],{"class":3825},[3751,16572,12062],{"class":3829},[3751,16574,5301],{"class":3833},[3751,16576,3837],{"class":3761},[3751,16578,3840],{"class":3757},[3751,16580,4515],{"class":3843},[3751,16582,6685],{"class":3811},[3751,16584,8148],{"class":3784},[3751,16586,4524],{"class":3843},[3751,16588,3861],{"class":3757},[3751,16590,5239],{"class":3825},[3751,16592,16593],{"class":3761},"Тема оформлення",[3751,16595,5245],{"class":3825},[3751,16597,12062],{"class":3829},[3751,16599,4468],{"class":3825},[3751,16601,16602,16604,16606,16608,16610,16612,16614,16616,16618,16620,16622,16624,16626],{"class":3753,"line":6440},[3751,16603,4494],{"class":3825},[3751,16605,12062],{"class":3829},[3751,16607,13190],{"class":3833},[3751,16609,3837],{"class":3761},[3751,16611,13517],{"class":3784},[3751,16613,7116],{"class":3833},[3751,16615,3837],{"class":3761},[3751,16617,3840],{"class":3757},[3751,16619,10934],{"class":3811},[3751,16621,3601],{"class":3843},[3751,16623,4980],{"class":3811},[3751,16625,3861],{"class":3757},[3751,16627,4468],{"class":3825},[3751,16629,16630],{"class":3753,"line":6448},[3751,16631,16632],{"class":3761},"            Ті самі чіпи, що були на головному екрані — винесені також сюди, щоб\n",[3751,16634,16635],{"class":3753,"line":6453},[3751,16636,16637],{"class":3761},"            налаштування жили на окремій вкладці.\n",[3751,16639,16640,16642,16644],{"class":3753,"line":6459},[3751,16641,7861],{"class":3825},[3751,16643,12062],{"class":3829},[3751,16645,4468],{"class":3825},[3751,16647,16648,16650,16652,16654,16656,16658,16660,16662,16664,16666,16668,16670,16672,16674,16676,16678,16680],{"class":3753,"line":6464},[3751,16649,4494],{"class":3825},[3751,16651,7319],{"class":3829},[3751,16653,5301],{"class":3833},[3751,16655,3837],{"class":3761},[3751,16657,3840],{"class":3757},[3751,16659,7436],{"class":3843},[3751,16661,5308],{"class":3811},[3751,16663,3601],{"class":3843},[3751,16665,13753],{"class":3811},[3751,16667,13756],{"class":3843},[3751,16669,8630],{"class":3811},[3751,16671,12688],{"class":3811},[3751,16673,3601],{"class":3843},[3751,16675,12756],{"class":3811},[3751,16677,13777],{"class":3843},[3751,16679,3861],{"class":3757},[3751,16681,4468],{"class":3825},[3751,16683,16684,16687,16689,16691,16693,16695,16697,16699,16701],{"class":3753,"line":6496},[3751,16685,16686],{"class":3757},"            {",[3751,16688,13789],{"class":3765},[3751,16690,3601],{"class":3843},[3751,16692,13794],{"class":3777},[3751,16694,6508],{"class":3843},[3751,16696,3512],{"class":3811},[3751,16698,3819],{"class":3843},[3751,16700,3847],{"class":3757},[3751,16702,6493],{"class":3843},[3751,16704,16705,16708,16710,16712,16714,16716,16718,16720,16722],{"class":3753,"line":6531},[3751,16706,16707],{"class":3757},"              const",[3751,16709,13813],{"class":3765},[3751,16711,13816],{"class":3761},[3751,16713,13819],{"class":3811},[3751,16715,10976],{"class":3761},[3751,16717,13824],{"class":3811},[3751,16719,3601],{"class":3843},[3751,16721,6476],{"class":3811},[3751,16723,3867],{"class":3843},[3751,16725,16726,16729],{"class":3753,"line":8184},[3751,16727,16728],{"class":3805},"              return",[3751,16730,4458],{"class":3843},[3751,16732,16733,16735],{"class":3753,"line":8192},[3751,16734,14050],{"class":3825},[3751,16736,13846],{"class":3829},[3751,16738,16739,16742,16744,16746,16748,16750,16752],{"class":3753,"line":8202},[3751,16740,16741],{"class":3833},"                  key",[3751,16743,3837],{"class":3761},[3751,16745,3840],{"class":3757},[3751,16747,3512],{"class":3811},[3751,16749,3601],{"class":3843},[3751,16751,6476],{"class":3811},[3751,16753,4605],{"class":3757},[3751,16755,16756,16759,16761,16763,16765,16767,16769,16771,16773,16775,16777,16779],{"class":3753,"line":8212},[3751,16757,16758],{"class":3833},"                  onPress",[3751,16760,3837],{"class":3761},[3751,16762,3840],{"class":3757},[3751,16764,3844],{"class":3843},[3751,16766,3847],{"class":3757},[3751,16768,13881],{"class":3777},[3751,16770,3853],{"class":3843},[3751,16772,3512],{"class":3811},[3751,16774,3601],{"class":3843},[3751,16776,6476],{"class":3811},[3751,16778,3858],{"class":3843},[3751,16780,4605],{"class":3757},[3751,16782,16783,16785,16787,16789],{"class":3753,"line":8222},[3751,16784,14100],{"class":3833},[3751,16786,3837],{"class":3761},[3751,16788,3840],{"class":3757},[3751,16790,13100],{"class":3843},[3751,16792,16793,16796,16798,16800],{"class":3753,"line":8232},[3751,16794,16795],{"class":3811},"                    styles",[3751,16797,3601],{"class":3843},[3751,16799,13916],{"class":3811},[3751,16801,6146],{"class":3843},[3751,16803,16804],{"class":3753,"line":8237},[3751,16805,16806],{"class":3843},"                    {\n",[3751,16808,16809,16812,16814,16816,16818,16820,16822,16824,16826,16828,16830],{"class":3753,"line":12660},[3751,16810,16811],{"class":3811},"                      backgroundColor:",[3751,16813,13813],{"class":3811},[3751,16815,10982],{"class":3761},[3751,16817,11021],{"class":3811},[3751,16819,3601],{"class":3843},[3751,16821,11055],{"class":3811},[3751,16823,10988],{"class":3761},[3751,16825,11021],{"class":3811},[3751,16827,3601],{"class":3843},[3751,16829,13949],{"class":3811},[3751,16831,6146],{"class":3843},[3751,16833,16834,16837,16839,16841,16843],{"class":3753,"line":12671},[3751,16835,16836],{"class":3811},"                      borderColor:",[3751,16838,11021],{"class":3811},[3751,16840,3601],{"class":3843},[3751,16842,11482],{"class":3811},[3751,16844,6146],{"class":3843},[3751,16846,16847],{"class":3753,"line":12713},[3751,16848,16849],{"class":3843},"                    },\n",[3751,16851,16852,16855],{"class":3753,"line":12735},[3751,16853,16854],{"class":3843},"                  ]",[3751,16856,4605],{"class":3757},[3751,16858,16859,16862,16864],{"class":3753,"line":12765},[3751,16860,16861],{"class":3833},"                  accessibilityRole",[3751,16863,3837],{"class":3761},[3751,16865,13990],{"class":3784},[3751,16867,16868,16871,16873,16875,16877,16879,16881,16883],{"class":3753,"line":12799},[3751,16869,16870],{"class":3833},"                  accessibilityState",[3751,16872,3837],{"class":3761},[3751,16874,3840],{"class":3757},[3751,16876,4515],{"class":3843},[3751,16878,14005],{"class":3811},[3751,16880,13813],{"class":3811},[3751,16882,4524],{"class":3843},[3751,16884,4605],{"class":3757},[3751,16886,16887,16890,16892,16894,16896,16898,16900,16902,16904,16906,16908],{"class":3753,"line":12806},[3751,16888,16889],{"class":3833},"                  accessibilityLabel",[3751,16891,3837],{"class":3761},[3751,16893,3840],{"class":3757},[3751,16895,14024],{"class":3784},[3751,16897,7696],{"class":3757},[3751,16899,3512],{"class":3811},[3751,16901,3601],{"class":3843},[3751,16903,12107],{"class":3811},[3751,16905,3861],{"class":3757},[3751,16907,7707],{"class":3784},[3751,16909,4605],{"class":3757},[3751,16911,16912],{"class":3753,"line":12812},[3751,16913,14119],{"class":3825},[3751,16915,16916,16919],{"class":3753,"line":12826},[3751,16917,16918],{"class":3825},"                  \u003C",[3751,16920,13235],{"class":3829},[3751,16922,16923,16926,16928],{"class":3753,"line":12852},[3751,16924,16925],{"class":3833},"                    variant",[3751,16927,3837],{"class":3761},[3751,16929,13246],{"class":3784},[3751,16931,16932,16935,16937,16939,16941,16943,16945,16947,16949,16951,16953,16955,16957],{"class":3753,"line":12872},[3751,16933,16934],{"class":3833},"                    color",[3751,16936,3837],{"class":3761},[3751,16938,3840],{"class":3757},[3751,16940,14075],{"class":3811},[3751,16942,10982],{"class":3761},[3751,16944,11021],{"class":3811},[3751,16946,3601],{"class":3843},[3751,16948,14084],{"class":3811},[3751,16950,10988],{"class":3761},[3751,16952,11021],{"class":3811},[3751,16954,3601],{"class":3843},[3751,16956,4249],{"class":3811},[3751,16958,4605],{"class":3757},[3751,16960,16961,16964,16966,16968,16970,16972,16974],{"class":3753,"line":12904},[3751,16962,16963],{"class":3833},"                    style",[3751,16965,3837],{"class":3761},[3751,16967,3840],{"class":3757},[3751,16969,5308],{"class":3811},[3751,16971,3601],{"class":3843},[3751,16973,14111],{"class":3811},[3751,16975,4605],{"class":3757},[3751,16977,16978],{"class":3753,"line":12912},[3751,16979,16980],{"class":3825},"                  >\n",[3751,16982,16983,16986,16988,16990,16992],{"class":3753,"line":12923},[3751,16984,16985],{"class":3757},"                    {",[3751,16987,3512],{"class":3811},[3751,16989,3601],{"class":3843},[3751,16991,12107],{"class":3811},[3751,16993,4605],{"class":3757},[3751,16995,16996,16999,17001],{"class":3753,"line":12966},[3751,16997,16998],{"class":3825},"                  \u003C\u002F",[3751,17000,12062],{"class":3829},[3751,17002,4468],{"class":3825},[3751,17004,17005,17007,17009],{"class":3753,"line":12988},[3751,17006,14139],{"class":3825},[3751,17008,5298],{"class":3829},[3751,17010,4468],{"class":3825},[3751,17012,17013],{"class":3753,"line":12994},[3751,17014,17015],{"class":3843},"              );\n",[3751,17017,17018,17021],{"class":3753,"line":13003},[3751,17019,17020],{"class":3843},"            })",[3751,17022,4605],{"class":3757},[3751,17024,17025,17027,17029],{"class":3753,"line":13014},[3751,17026,7861],{"class":3825},[3751,17028,7319],{"class":3829},[3751,17030,4468],{"class":3825},[3751,17032,17033,17035,17037],{"class":3753,"line":13019},[3751,17034,4569],{"class":3825},[3751,17036,7319],{"class":3829},[3751,17038,4468],{"class":3825},[3751,17040,17041],{"class":3753,"line":13053},[3751,17042,5213],{"emptyLinePlaceholder":5212},[3751,17044,17045,17047],{"class":3753,"line":13062},[3751,17046,4484],{"class":3825},[3751,17048,13087],{"class":3829},[3751,17050,17051,17053,17055,17057],{"class":3753,"line":13067},[3751,17052,13597],{"class":3833},[3751,17054,3837],{"class":3761},[3751,17056,3840],{"class":3757},[3751,17058,13100],{"class":3843},[3751,17060,17061,17063,17065,17067],{"class":3753,"line":13072},[3751,17062,16487],{"class":3811},[3751,17064,3601],{"class":3843},[3751,17066,4830],{"class":3811},[3751,17068,6146],{"class":3843},[3751,17070,17071],{"class":3753,"line":13082},[3751,17072,16498],{"class":3843},[3751,17074,17075,17077,17079,17081,17083],{"class":3753,"line":13090},[3751,17076,16503],{"class":3811},[3751,17078,11021],{"class":3811},[3751,17080,3601],{"class":3843},[3751,17082,13949],{"class":3811},[3751,17084,6146],{"class":3843},[3751,17086,17087,17089,17091,17093,17095],{"class":3753,"line":13103},[3751,17088,16516],{"class":3811},[3751,17090,11021],{"class":3811},[3751,17092,3601],{"class":3843},[3751,17094,11482],{"class":3811},[3751,17096,6146],{"class":3843},[3751,17098,17099,17101,17103,17105,17107],{"class":3753,"line":13116},[3751,17100,16529],{"class":3811},[3751,17102,12688],{"class":3811},[3751,17104,3601],{"class":3843},[3751,17106,12693],{"class":3811},[3751,17108,6146],{"class":3843},[3751,17110,17111,17113,17115,17117,17119],{"class":3753,"line":13122},[3751,17112,16542],{"class":3811},[3751,17114,12688],{"class":3811},[3751,17116,3601],{"class":3843},[3751,17118,12756],{"class":3811},[3751,17120,6146],{"class":3843},[3751,17122,17123],{"class":3753,"line":13136},[3751,17124,16555],{"class":3843},[3751,17126,17127,17129],{"class":3753,"line":13151},[3751,17128,16560],{"class":3843},[3751,17130,4605],{"class":3757},[3751,17132,17133],{"class":3753,"line":13165},[3751,17134,13654],{"class":3825},[3751,17136,17137,17139,17141,17143,17145,17147,17149,17151,17153,17155,17157,17159,17162,17164,17166],{"class":3753,"line":13170},[3751,17138,4494],{"class":3825},[3751,17140,12062],{"class":3829},[3751,17142,5301],{"class":3833},[3751,17144,3837],{"class":3761},[3751,17146,3840],{"class":3757},[3751,17148,4515],{"class":3843},[3751,17150,6685],{"class":3811},[3751,17152,8148],{"class":3784},[3751,17154,4524],{"class":3843},[3751,17156,3861],{"class":3757},[3751,17158,5239],{"class":3825},[3751,17160,17161],{"class":3761},"Навігація (Expo Router)",[3751,17163,5245],{"class":3825},[3751,17165,12062],{"class":3829},[3751,17167,4468],{"class":3825},[3751,17169,17170,17172,17174,17176,17178,17180,17182,17184,17186,17188,17190,17192,17194],{"class":3753,"line":13178},[3751,17171,4494],{"class":3825},[3751,17173,12062],{"class":3829},[3751,17175,13190],{"class":3833},[3751,17177,3837],{"class":3761},[3751,17179,13517],{"class":3784},[3751,17181,7116],{"class":3833},[3751,17183,3837],{"class":3761},[3751,17185,3840],{"class":3757},[3751,17187,10934],{"class":3811},[3751,17189,3601],{"class":3843},[3751,17191,4980],{"class":3811},[3751,17193,3861],{"class":3757},[3751,17195,4468],{"class":3825},[3751,17197,17198],{"class":3753,"line":13183},[3751,17199,17200],{"class":3761},"            Нижні вкладки — група маршрутів (tabs). «Нова поїздка» відкривається\n",[3751,17202,17203],{"class":3753,"line":13215},[3751,17204,17205],{"class":3761},"            поверх вкладок у Stack. Нижче — приклад компонента Link (як якір на\n",[3751,17207,17208],{"class":3753,"line":13221},[3751,17209,17210],{"class":3761},"            вебі).\n",[3751,17212,17213,17215,17217],{"class":3753,"line":13230},[3751,17214,7861],{"class":3825},[3751,17216,12062],{"class":3829},[3751,17218,4468],{"class":3825},[3751,17220,17221,17223,17225,17227,17229,17231,17233],{"class":3753,"line":13238},[3751,17222,4494],{"class":3825},[3751,17224,3629],{"class":3829},[3751,17226,5222],{"class":3833},[3751,17228,3837],{"class":3761},[3751,17230,5227],{"class":3784},[3751,17232,5289],{"class":3833},[3751,17234,4468],{"class":3825},[3751,17236,17237,17239],{"class":3753,"line":13249},[3751,17238,7093],{"class":3825},[3751,17240,13846],{"class":3829},[3751,17242,17243,17246,17248,17250],{"class":3753,"line":13267},[3751,17244,17245],{"class":3833},"              style",[3751,17247,3837],{"class":3761},[3751,17249,3840],{"class":3757},[3751,17251,13100],{"class":3843},[3751,17253,17254,17257,17259,17262],{"class":3753,"line":13286},[3751,17255,17256],{"class":3811},"                styles",[3751,17258,3601],{"class":3843},[3751,17260,17261],{"class":3811},"linkBtn",[3751,17263,6146],{"class":3843},[3751,17265,17266],{"class":3753,"line":13291},[3751,17267,17268],{"class":3843},"                {\n",[3751,17270,17271,17274,17276,17278,17280],{"class":3753,"line":13297},[3751,17272,17273],{"class":3811},"                  backgroundColor:",[3751,17275,11021],{"class":3811},[3751,17277,3601],{"class":3843},[3751,17279,11055],{"class":3811},[3751,17281,6146],{"class":3843},[3751,17283,17284,17287,17289,17291,17293,17296,17298],{"class":3753,"line":13306},[3751,17285,17286],{"class":3811},"                  paddingVertical:",[3751,17288,12688],{"class":3811},[3751,17290,3601],{"class":3843},[3751,17292,12756],{"class":3811},[3751,17294,17295],{"class":3761}," +",[3751,17297,8034],{"class":7005},[3751,17299,6146],{"class":3843},[3751,17301,17302,17305,17307],{"class":3753,"line":13315},[3751,17303,17304],{"class":3811},"                  borderRadius:",[3751,17306,7006],{"class":7005},[3751,17308,6146],{"class":3843},[3751,17310,17311],{"class":3753,"line":13320},[3751,17312,17313],{"class":3843},"                },\n",[3751,17315,17316,17319],{"class":3753,"line":13325},[3751,17317,17318],{"class":3843},"              ]",[3751,17320,4605],{"class":3757},[3751,17322,17323],{"class":3753,"line":13332},[3751,17324,17325],{"class":3825},"            >\n",[3751,17327,17328,17330,17332,17334,17336,17338,17340,17342,17344,17346,17348,17350,17352,17354,17356,17358,17360,17362],{"class":3753,"line":13355},[3751,17329,7740],{"class":3825},[3751,17331,12062],{"class":3829},[3751,17333,7116],{"class":3833},[3751,17335,3837],{"class":3761},[3751,17337,3840],{"class":3757},[3751,17339,10934],{"class":3811},[3751,17341,3601],{"class":3843},[3751,17343,14084],{"class":3811},[3751,17345,3861],{"class":3757},[3751,17347,5301],{"class":3833},[3751,17349,3837],{"class":3761},[3751,17351,3840],{"class":3757},[3751,17353,4515],{"class":3843},[3751,17355,6685],{"class":3811},[3751,17357,8148],{"class":3784},[3751,17359,4524],{"class":3843},[3751,17361,3861],{"class":3757},[3751,17363,4468],{"class":3825},[3751,17365,17366],{"class":3753,"line":13362},[3751,17367,17368],{"class":3761},"                Відкрити форму (Link)\n",[3751,17370,17371,17373,17375],{"class":3753,"line":13373},[3751,17372,14149],{"class":3825},[3751,17374,12062],{"class":3829},[3751,17376,4468],{"class":3825},[3751,17378,17379,17381,17383],{"class":3753,"line":13385},[3751,17380,7852],{"class":3825},[3751,17382,5298],{"class":3829},[3751,17384,4468],{"class":3825},[3751,17386,17387,17389,17391],{"class":3753,"line":13391},[3751,17388,7861],{"class":3825},[3751,17390,3629],{"class":3829},[3751,17392,4468],{"class":3825},[3751,17394,17395,17397,17399],{"class":3753,"line":13405},[3751,17396,4569],{"class":3825},[3751,17398,7319],{"class":3829},[3751,17400,4468],{"class":3825},[3751,17402,17403],{"class":3753,"line":13419},[3751,17404,5213],{"emptyLinePlaceholder":5212},[3751,17406,17407,17409,17411,17413,17415,17417,17419,17421,17423,17425,17427,17429,17431],{"class":3753,"line":13433},[3751,17408,4484],{"class":3825},[3751,17410,12062],{"class":3829},[3751,17412,13190],{"class":3833},[3751,17414,3837],{"class":3761},[3751,17416,13517],{"class":3784},[3751,17418,7116],{"class":3833},[3751,17420,3837],{"class":3761},[3751,17422,3840],{"class":3757},[3751,17424,10934],{"class":3811},[3751,17426,3601],{"class":3843},[3751,17428,4980],{"class":3811},[3751,17430,3861],{"class":3757},[3751,17432,4468],{"class":3825},[3751,17434,17435],{"class":3753,"line":13448},[3751,17436,17437],{"class":3761},"          Репозиторій: github.com\u002Farakviel\u002Fnomad\n",[3751,17439,17440,17442,17444],{"class":3753,"line":13462},[3751,17441,4569],{"class":3825},[3751,17443,12062],{"class":3829},[3751,17445,4468],{"class":3825},[3751,17447,17448,17450,17452],{"class":3753,"line":13468},[3751,17449,4579],{"class":3825},[3751,17451,8268],{"class":3829},[3751,17453,4468],{"class":3825},[3751,17455,17456,17458,17460],{"class":3753,"line":13476},[3751,17457,4589],{"class":3825},[3751,17459,4229],{"class":3829},[3751,17461,4468],{"class":3825},[3751,17463,17464],{"class":3753,"line":13481},[3751,17465,4599],{"class":3761},[3751,17467,17468],{"class":3753,"line":13506},[3751,17469,4605],{"class":3761},[3751,17471,17472],{"class":3753,"line":13542},[3751,17473,5213],{"emptyLinePlaceholder":5212},[3751,17475,17476,17478,17480,17482,17484,17486,17488],{"class":3753,"line":13568},[3751,17477,3758],{"class":3757},[3751,17479,7903],{"class":3765},[3751,17481,5457],{"class":3761},[3751,17483,7310],{"class":3811},[3751,17485,3601],{"class":3761},[3751,17487,7912],{"class":3777},[3751,17489,7915],{"class":3761},[3751,17491,17492,17494],{"class":3753,"line":13577},[3751,17493,14761],{"class":3811},[3751,17495,6493],{"class":3761},[3751,17497,17498,17500,17502],{"class":3753,"line":13584},[3751,17499,7948],{"class":3811},[3751,17501,12728],{"class":7005},[3751,17503,6146],{"class":3761},[3751,17505,17506],{"class":3753,"line":13594},[3751,17507,6198],{"class":3761},[3751,17509,17510,17512],{"class":3753,"line":13606},[3751,17511,8076],{"class":3811},[3751,17513,6493],{"class":3761},[3751,17515,17516,17518,17520],{"class":3753,"line":13620},[3751,17517,8102],{"class":3811},[3751,17519,7928],{"class":7005},[3751,17521,6146],{"class":3761},[3751,17523,17524,17526,17528],{"class":3753,"line":13634},[3751,17525,8093],{"class":3811},[3751,17527,7006],{"class":7005},[3751,17529,6146],{"class":3761},[3751,17531,17532],{"class":3753,"line":13644},[3751,17533,6198],{"class":3761},[3751,17535,17536,17538],{"class":3753,"line":13651},[3751,17537,14804],{"class":3811},[3751,17539,6493],{"class":3761},[3751,17541,17542,17544,17546],{"class":3753,"line":13657},[3751,17543,14812],{"class":3811},[3751,17545,14815],{"class":3784},[3751,17547,6146],{"class":3761},[3751,17549,17550,17552,17554],{"class":3753,"line":13674},[3751,17551,14823],{"class":3811},[3751,17553,14826],{"class":3784},[3751,17555,6146],{"class":3761},[3751,17557,17558],{"class":3753,"line":13709},[3751,17559,6198],{"class":3761},[3751,17561,17562,17564],{"class":3753,"line":13720},[3751,17563,14839],{"class":3811},[3751,17565,6493],{"class":3761},[3751,17567,17568,17570,17572],{"class":3753,"line":13729},[3751,17569,7948],{"class":3811},[3751,17571,7006],{"class":7005},[3751,17573,6146],{"class":3761},[3751,17575,17576,17578,17580],{"class":3753,"line":13734},[3751,17577,14856],{"class":3811},[3751,17579,7961],{"class":7005},[3751,17581,6146],{"class":3761},[3751,17583,17584,17586,17588],{"class":3753,"line":13784},[3751,17585,8093],{"class":3811},[3751,17587,7961],{"class":7005},[3751,17589,6146],{"class":3761},[3751,17591,17592,17594,17596],{"class":3753,"line":13807},[3751,17593,8102],{"class":3811},[3751,17595,7928],{"class":7005},[3751,17597,6146],{"class":3761},[3751,17599,17600],{"class":3753,"line":13833},[3751,17601,6198],{"class":3761},[3751,17603,17604,17606],{"class":3753,"line":13841},[3751,17605,14889],{"class":3811},[3751,17607,6493],{"class":3761},[3751,17609,17610,17612,17614],{"class":3753,"line":13849},[3751,17611,8215],{"class":3811},[3751,17613,6688],{"class":3784},[3751,17615,6146],{"class":3761},[3751,17617,17618],{"class":3753,"line":13867},[3751,17619,6198],{"class":3761},[3751,17621,17622,17625],{"class":3753,"line":13896},[3751,17623,17624],{"class":3811},"  linkBtn:",[3751,17626,6493],{"class":3761},[3751,17628,17629,17631,17633],{"class":3753,"line":13908},[3751,17630,9429],{"class":3811},[3751,17632,9422],{"class":3784},[3751,17634,6146],{"class":3761},[3751,17636,17637],{"class":3753,"line":13921},[3751,17638,6198],{"class":3761},[3751,17640,17641],{"class":3753,"line":13927},[3751,17642,8240],{"class":3761},[3742,17644,17646],{"className":3744,"code":17645,"filename":4675,"language":3746,"meta":3747,"style":3747},"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",[3521,17647,17648,17664,17680,17684,17704,17720,17724,17728,17733,17738,17742,17755,17767,17782,17786,17792,17814,17821,17840,17851,17862,17868,17891,17895,17903,17907,17911,17915,17931,17937,17945,17949],{"__ignoreMap":3747},[3751,17649,17650,17652,17654,17656,17658,17660,17662],{"class":3753,"line":3754},[3751,17651,5173],{"class":3805},[3751,17653,5176],{"class":3761},[3751,17655,7310],{"class":3811},[3751,17657,5181],{"class":3761},[3751,17659,5184],{"class":3805},[3751,17661,5205],{"class":3784},[3751,17663,3867],{"class":3761},[3751,17665,17666,17668,17670,17672,17674,17676,17678],{"class":3753,"line":3802},[3751,17667,5173],{"class":3805},[3751,17669,5176],{"class":3761},[3751,17671,3635],{"class":3811},[3751,17673,5181],{"class":3761},[3751,17675,5184],{"class":3805},[3751,17677,5187],{"class":3784},[3751,17679,3867],{"class":3761},[3751,17681,17682],{"class":3753,"line":3870},[3751,17683,5213],{"emptyLinePlaceholder":5212},[3751,17685,17686,17688,17690,17692,17694,17696,17698,17700,17702],{"class":3753,"line":4471},[3751,17687,5173],{"class":3805},[3751,17689,5176],{"class":3761},[3751,17691,5751],{"class":3811},[3751,17693,3640],{"class":3761},[3751,17695,12221],{"class":3811},[3751,17697,5181],{"class":3761},[3751,17699,5184],{"class":3805},[3751,17701,10867],{"class":3784},[3751,17703,3867],{"class":3761},[3751,17705,17706,17708,17710,17712,17714,17716,17718],{"class":3753,"line":4481},[3751,17707,5173],{"class":3805},[3751,17709,5176],{"class":3761},[3751,17711,4229],{"class":3811},[3751,17713,5181],{"class":3761},[3751,17715,5184],{"class":3805},[3751,17717,12078],{"class":3784},[3751,17719,3867],{"class":3761},[3751,17721,17722],{"class":3753,"line":4491},[3751,17723,5213],{"emptyLinePlaceholder":5212},[3751,17725,17726],{"class":3753,"line":4532},[3751,17727,10900],{"class":5471},[3751,17729,17730],{"class":3753,"line":4566},[3751,17731,17732],{"class":5471}," * Екран створення поїздки — Stack-екран поза Tabs.\n",[3751,17734,17735],{"class":3753,"line":4576},[3751,17736,17737],{"class":5471}," * Заголовок і системна кнопка «назад» задаються в app\u002F_layout.tsx (Stack.Screen options).\n",[3751,17739,17740],{"class":3753,"line":4586},[3751,17741,10915],{"class":5471},[3751,17743,17744,17746,17748,17750,17753],{"class":3753,"line":4596},[3751,17745,4438],{"class":3805},[3751,17747,4441],{"class":3805},[3751,17749,4444],{"class":3757},[3751,17751,17752],{"class":3777}," CreateTripScreen",[3751,17754,4450],{"class":3761},[3751,17756,17757,17759,17761,17763,17765],{"class":3753,"line":4602},[3751,17758,8859],{"class":3757},[3751,17760,5454],{"class":3765},[3751,17762,5457],{"class":3761},[3751,17764,3635],{"class":3777},[3751,17766,5462],{"class":3761},[3751,17768,17769,17771,17773,17776,17778,17780],{"class":3753,"line":6159},[3751,17770,8859],{"class":3757},[3751,17772,5176],{"class":3761},[3751,17774,17775],{"class":3765},"addTrip",[3751,17777,8866],{"class":3761},[3751,17779,12221],{"class":3777},[3751,17781,5462],{"class":3761},[3751,17783,17784],{"class":3753,"line":6170},[3751,17785,5213],{"emptyLinePlaceholder":5212},[3751,17787,17788,17790],{"class":3753,"line":6181},[3751,17789,4455],{"class":3805},[3751,17791,4458],{"class":3761},[3751,17793,17794,17796,17798,17800,17802,17804,17806,17808,17810,17812],{"class":3753,"line":6187},[3751,17795,4463],{"class":3825},[3751,17797,4229],{"class":3829},[3751,17799,5301],{"class":3833},[3751,17801,3837],{"class":3761},[3751,17803,3840],{"class":3757},[3751,17805,5308],{"class":3811},[3751,17807,3601],{"class":3843},[3751,17809,3766],{"class":3811},[3751,17811,3861],{"class":3757},[3751,17813,4468],{"class":3825},[3751,17815,17816,17818],{"class":3753,"line":6195},[3751,17817,4474],{"class":3825},[3751,17819,17820],{"class":3829},"CreateTripForm\n",[3751,17822,17823,17826,17828,17830,17832,17834,17836,17838],{"class":3753,"line":6201},[3751,17824,17825],{"class":3833},"        onSubmitSuccess",[3751,17827,3837],{"class":3761},[3751,17829,3840],{"class":3757},[3751,17831,3853],{"class":3843},[3751,17833,12325],{"class":3811},[3751,17835,3819],{"class":3843},[3751,17837,3847],{"class":3757},[3751,17839,6493],{"class":3843},[3751,17841,17842,17845,17847,17849],{"class":3753,"line":6206},[3751,17843,17844],{"class":3777},"          addTrip",[3751,17846,3853],{"class":3843},[3751,17848,12325],{"class":3811},[3751,17850,3799],{"class":3843},[3751,17852,17853,17856,17858,17860],{"class":3753,"line":6216},[3751,17854,17855],{"class":3811},"          router",[3751,17857,3601],{"class":3843},[3751,17859,3643],{"class":3777},[3751,17861,5462],{"class":3843},[3751,17863,17864,17866],{"class":3753,"line":6226},[3751,17865,6716],{"class":3843},[3751,17867,4605],{"class":3757},[3751,17869,17870,17873,17875,17877,17879,17881,17883,17885,17887,17889],{"class":3753,"line":6236},[3751,17871,17872],{"class":3833},"        onCancel",[3751,17874,3837],{"class":3761},[3751,17876,3840],{"class":3757},[3751,17878,3844],{"class":3843},[3751,17880,3847],{"class":3757},[3751,17882,5454],{"class":3811},[3751,17884,3601],{"class":3843},[3751,17886,3643],{"class":3777},[3751,17888,4167],{"class":3843},[3751,17890,4605],{"class":3757},[3751,17892,17893],{"class":3753,"line":6246},[3751,17894,7142],{"class":3825},[3751,17896,17897,17899,17901],{"class":3753,"line":6251},[3751,17898,4589],{"class":3825},[3751,17900,4229],{"class":3829},[3751,17902,4468],{"class":3825},[3751,17904,17905],{"class":3753,"line":6259},[3751,17906,4599],{"class":3761},[3751,17908,17909],{"class":3753,"line":6264},[3751,17910,4605],{"class":3761},[3751,17912,17913],{"class":3753,"line":6269},[3751,17914,5213],{"emptyLinePlaceholder":5212},[3751,17916,17917,17919,17921,17923,17925,17927,17929],{"class":3753,"line":6279},[3751,17918,3758],{"class":3757},[3751,17920,7903],{"class":3765},[3751,17922,5457],{"class":3761},[3751,17924,7310],{"class":3811},[3751,17926,3601],{"class":3761},[3751,17928,7912],{"class":3777},[3751,17930,7915],{"class":3761},[3751,17932,17933,17935],{"class":3753,"line":6289},[3751,17934,14761],{"class":3811},[3751,17936,6493],{"class":3761},[3751,17938,17939,17941,17943],{"class":3753,"line":6299},[3751,17940,7948],{"class":3811},[3751,17942,12728],{"class":7005},[3751,17944,6146],{"class":3761},[3751,17946,17947],{"class":3753,"line":6309},[3751,17948,6198],{"class":3761},[3751,17950,17951],{"class":3753,"line":6314},[3751,17952,8240],{"class":3761},[3742,17954,17957],{"className":6030,"code":17955,"filename":17956,"language":6032,"meta":3747,"style":3747},"export { mockTrips } from '.\u002Fmodel\u002FmockTrips';\nexport { mockPlaces } from '.\u002Fmodel\u002FmockPlaces';\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",[3521,17958,17959,17977,17994,18022,18039,18056,18073,18090,18108,18126,18147,18153,18160,18169,18180],{"__ignoreMap":3747},[3751,17960,17961,17963,17965,17968,17970,17972,17975],{"class":3753,"line":3754},[3751,17962,4438],{"class":3805},[3751,17964,5176],{"class":3761},[3751,17966,17967],{"class":3811},"mockTrips",[3751,17969,5181],{"class":3761},[3751,17971,5184],{"class":3805},[3751,17973,17974],{"class":3784}," '.\u002Fmodel\u002FmockTrips'",[3751,17976,3867],{"class":3761},[3751,17978,17979,17981,17983,17985,17987,17989,17992],{"class":3753,"line":3802},[3751,17980,4438],{"class":3805},[3751,17982,5176],{"class":3761},[3751,17984,12279],{"class":3811},[3751,17986,5181],{"class":3761},[3751,17988,5184],{"class":3805},[3751,17990,17991],{"class":3784}," '.\u002Fmodel\u002FmockPlaces'",[3751,17993,3867],{"class":3761},[3751,17995,17996,17998,18000,18002,18004,18006,18008,18010,18013,18015,18017,18020],{"class":3753,"line":3870},[3751,17997,4438],{"class":3805},[3751,17999,6041],{"class":3805},[3751,18001,5176],{"class":3761},[3751,18003,12330],{"class":3811},[3751,18005,3640],{"class":3761},[3751,18007,12273],{"class":3811},[3751,18009,3640],{"class":3761},[3751,18011,18012],{"class":3811},"TripRegion",[3751,18014,5181],{"class":3761},[3751,18016,5184],{"class":3805},[3751,18018,18019],{"class":3784}," '.\u002Fmodel\u002Ftypes'",[3751,18021,3867],{"class":3761},[3751,18023,18024,18026,18028,18031,18033,18035,18037],{"class":3753,"line":4471},[3751,18025,4438],{"class":3805},[3751,18027,5176],{"class":3761},[3751,18029,18030],{"class":3811},"TRIP_REGIONS",[3751,18032,5181],{"class":3761},[3751,18034,5184],{"class":3805},[3751,18036,18019],{"class":3784},[3751,18038,3867],{"class":3761},[3751,18040,18041,18043,18045,18047,18049,18051,18054],{"class":3753,"line":4481},[3751,18042,4438],{"class":3805},[3751,18044,5176],{"class":3761},[3751,18046,12573],{"class":3811},[3751,18048,5181],{"class":3761},[3751,18050,5184],{"class":3805},[3751,18052,18053],{"class":3784}," '.\u002Fui\u002FTripCard'",[3751,18055,3867],{"class":3761},[3751,18057,18058,18060,18062,18064,18066,18068,18071],{"class":3753,"line":4491},[3751,18059,4438],{"class":3805},[3751,18061,5176],{"class":3761},[3751,18063,12877],{"class":3811},[3751,18065,5181],{"class":3761},[3751,18067,5184],{"class":3805},[3751,18069,18070],{"class":3784}," '.\u002Fui\u002FPlaceChip'",[3751,18072,3867],{"class":3761},[3751,18074,18075,18077,18079,18081,18083,18085,18088],{"class":3753,"line":4532},[3751,18076,4438],{"class":3805},[3751,18078,5176],{"class":3761},[3751,18080,5751],{"class":3811},[3751,18082,5181],{"class":3761},[3751,18084,5184],{"class":3805},[3751,18086,18087],{"class":3784}," '.\u002Fui\u002FCreateTripForm'",[3751,18089,3867],{"class":3761},[3751,18091,18092,18094,18096,18099,18101,18103,18106],{"class":3753,"line":4566},[3751,18093,4438],{"class":3805},[3751,18095,5176],{"class":3761},[3751,18097,18098],{"class":3811},"DateField",[3751,18100,5181],{"class":3761},[3751,18102,5184],{"class":3805},[3751,18104,18105],{"class":3784}," '.\u002Fui\u002FDateField'",[3751,18107,3867],{"class":3761},[3751,18109,18110,18112,18114,18117,18119,18121,18124],{"class":3753,"line":4576},[3751,18111,4438],{"class":3805},[3751,18113,5176],{"class":3761},[3751,18115,18116],{"class":3811},"FormRow",[3751,18118,5181],{"class":3761},[3751,18120,5184],{"class":3805},[3751,18122,18123],{"class":3784}," '.\u002Fui\u002FFormRow'",[3751,18125,3867],{"class":3761},[3751,18127,18128,18130,18132,18134,18136,18138,18140,18142,18145],{"class":3753,"line":4586},[3751,18129,4438],{"class":3805},[3751,18131,5176],{"class":3761},[3751,18133,4356],{"class":3811},[3751,18135,3640],{"class":3761},[3751,18137,12221],{"class":3811},[3751,18139,5181],{"class":3761},[3751,18141,5184],{"class":3805},[3751,18143,18144],{"class":3784}," '.\u002Fmodel\u002FTripsProvider'",[3751,18146,3867],{"class":3761},[3751,18148,18149,18151],{"class":3753,"line":4596},[3751,18150,4438],{"class":3805},[3751,18152,6493],{"class":3761},[3751,18154,18155,18158],{"class":3753,"line":4602},[3751,18156,18157],{"class":3811},"  createTripSchema",[3751,18159,6146],{"class":3761},[3751,18161,18162,18164,18167],{"class":3753,"line":6159},[3751,18163,12005],{"class":3805},[3751,18165,18166],{"class":3811}," CreateTripFormValues",[3751,18168,6146],{"class":3761},[3751,18170,18171,18173,18175,18178],{"class":3753,"line":6170},[3751,18172,11922],{"class":3761},[3751,18174,5184],{"class":3805},[3751,18176,18177],{"class":3784}," '.\u002Fmodel\u002FcreateTripSchema'",[3751,18179,3867],{"class":3761},[3751,18181,18182,18184,18186,18189,18191,18193,18196],{"class":3753,"line":6181},[3751,18183,4438],{"class":3805},[3751,18185,5176],{"class":3761},[3751,18187,18188],{"class":3811},"formatTripDateLabel",[3751,18190,5181],{"class":3761},[3751,18192,5184],{"class":3805},[3751,18194,18195],{"class":3784}," '.\u002Fmodel\u002FformatTripDates'",[3751,18197,3867],{"class":3761},[3742,18199,18202],{"className":6030,"code":18200,"filename":18201,"language":6032,"meta":3747,"style":3747},"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",[3521,18203,18204,18214,18224,18235,18246,18256,18267,18272,18282,18287,18299,18304,18316,18321,18332,18336,18340,18350,18360,18371,18381,18392,18403,18407,18411,18416,18428,18435,18442,18449,18456,18463,18470,18482,18486],{"__ignoreMap":3747},[3751,18205,18206,18208,18210,18212],{"class":3753,"line":3754},[3751,18207,4438],{"class":3805},[3751,18209,6041],{"class":3757},[3751,18211,12017],{"class":3829},[3751,18213,6047],{"class":3761},[3751,18215,18216,18218,18220,18222],{"class":3753,"line":3802},[3751,18217,6052],{"class":3811},[3751,18219,4806],{"class":3761},[3751,18221,6057],{"class":3829},[3751,18223,3867],{"class":3761},[3751,18225,18226,18229,18231,18233],{"class":3753,"line":3870},[3751,18227,18228],{"class":3811},"  title",[3751,18230,4806],{"class":3761},[3751,18232,6057],{"class":3829},[3751,18234,3867],{"class":3761},[3751,18236,18237,18240,18242,18244],{"class":3753,"line":4471},[3751,18238,18239],{"class":3811},"  dateLabel",[3751,18241,4806],{"class":3761},[3751,18243,6057],{"class":3829},[3751,18245,3867],{"class":3761},[3751,18247,18248,18250,18252,18254],{"class":3753,"line":4481},[3751,18249,6097],{"class":3811},[3751,18251,4806],{"class":3761},[3751,18253,6057],{"class":3829},[3751,18255,3867],{"class":3761},[3751,18257,18258,18261,18263,18265],{"class":3753,"line":4491},[3751,18259,18260],{"class":3811},"  coverUri",[3751,18262,4806],{"class":3761},[3751,18264,6057],{"class":3829},[3751,18266,3867],{"class":3761},[3751,18268,18269],{"class":3753,"line":4532},[3751,18270,18271],{"class":5471},"  \u002F** Регіон \u002F макрозона (з Picker у формі створення). *\u002F\n",[3751,18273,18274,18276,18278,18280],{"class":3753,"line":4566},[3751,18275,6075],{"class":3811},[3751,18277,4806],{"class":3761},[3751,18279,6057],{"class":3829},[3751,18281,3867],{"class":3761},[3751,18283,18284],{"class":3753,"line":4576},[3751,18285,18286],{"class":5471},"  \u002F** Приватна поїздка (Switch) — навчальна мітка на картці. *\u002F\n",[3751,18288,18289,18292,18295,18297],{"class":3753,"line":4586},[3751,18290,18291],{"class":3811},"  isPrivate",[3751,18293,18294],{"class":3761},"?: ",[3751,18296,4840],{"class":3829},[3751,18298,3867],{"class":3761},[3751,18300,18301],{"class":3753,"line":4596},[3751,18302,18303],{"class":5471},"  \u002F** Скільки днів плануємо (Slider 1–14). *\u002F\n",[3751,18305,18306,18309,18311,18314],{"class":3753,"line":4602},[3751,18307,18308],{"class":3811},"  plannedDays",[3751,18310,18294],{"class":3761},[3751,18312,18313],{"class":3829},"number",[3751,18315,3867],{"class":3761},[3751,18317,18318],{"class":3753,"line":6159},[3751,18319,18320],{"class":5471},"  \u002F** Є попередній план маршруту (Checkbox). *\u002F\n",[3751,18322,18323,18326,18328,18330],{"class":3753,"line":6170},[3751,18324,18325],{"class":3811},"  hasItinerary",[3751,18327,18294],{"class":3761},[3751,18329,4840],{"class":3829},[3751,18331,3867],{"class":3761},[3751,18333,18334],{"class":3753,"line":6181},[3751,18335,6108],{"class":3761},[3751,18337,18338],{"class":3753,"line":6187},[3751,18339,5213],{"emptyLinePlaceholder":5212},[3751,18341,18342,18344,18346,18348],{"class":3753,"line":6195},[3751,18343,4438],{"class":3805},[3751,18345,6041],{"class":3757},[3751,18347,12008],{"class":3829},[3751,18349,6047],{"class":3761},[3751,18351,18352,18354,18356,18358],{"class":3753,"line":6201},[3751,18353,6052],{"class":3811},[3751,18355,4806],{"class":3761},[3751,18357,6057],{"class":3829},[3751,18359,3867],{"class":3761},[3751,18361,18362,18365,18367,18369],{"class":3753,"line":6206},[3751,18363,18364],{"class":3811},"  tripId",[3751,18366,4806],{"class":3761},[3751,18368,6057],{"class":3829},[3751,18370,3867],{"class":3761},[3751,18372,18373,18375,18377,18379],{"class":3753,"line":6216},[3751,18374,6064],{"class":3811},[3751,18376,4806],{"class":3761},[3751,18378,6057],{"class":3829},[3751,18380,3867],{"class":3761},[3751,18382,18383,18386,18388,18390],{"class":3753,"line":6226},[3751,18384,18385],{"class":3811},"  city",[3751,18387,4806],{"class":3761},[3751,18389,6057],{"class":3829},[3751,18391,3867],{"class":3761},[3751,18393,18394,18397,18399,18401],{"class":3753,"line":6236},[3751,18395,18396],{"class":3811},"  note",[3751,18398,4806],{"class":3761},[3751,18400,6057],{"class":3829},[3751,18402,3867],{"class":3761},[3751,18404,18405],{"class":3753,"line":6246},[3751,18406,6108],{"class":3761},[3751,18408,18409],{"class":3753,"line":6251},[3751,18410,5213],{"emptyLinePlaceholder":5212},[3751,18412,18413],{"class":3753,"line":6259},[3751,18414,18415],{"class":5471},"\u002F** Варіанти регіону для Picker — ті самі рядки, що в mock-стрічці. *\u002F\n",[3751,18417,18418,18420,18422,18425],{"class":3753,"line":6264},[3751,18419,4438],{"class":3805},[3751,18421,6119],{"class":3757},[3751,18423,18424],{"class":3765}," TRIP_REGIONS",[3751,18426,18427],{"class":3761}," = [\n",[3751,18429,18430,18433],{"class":3753,"line":6269},[3751,18431,18432],{"class":3784},"  'Карпати'",[3751,18434,6146],{"class":3761},[3751,18436,18437,18440],{"class":3753,"line":6279},[3751,18438,18439],{"class":3784},"  'Захід'",[3751,18441,6146],{"class":3761},[3751,18443,18444,18447],{"class":3753,"line":6289},[3751,18445,18446],{"class":3784},"  'Південь'",[3751,18448,6146],{"class":3761},[3751,18450,18451,18454],{"class":3753,"line":6299},[3751,18452,18453],{"class":3784},"  'Центр'",[3751,18455,6146],{"class":3761},[3751,18457,18458,18461],{"class":3753,"line":6309},[3751,18459,18460],{"class":3784},"  'Схід'",[3751,18462,6146],{"class":3761},[3751,18464,18465,18468],{"class":3753,"line":6314},[3751,18466,18467],{"class":3784},"  'Інше'",[3751,18469,6146],{"class":3761},[3751,18471,18472,18475,18478,18480],{"class":3753,"line":6322},[3751,18473,18474],{"class":3761},"] ",[3751,18476,18477],{"class":3805},"as",[3751,18479,6119],{"class":3757},[3751,18481,3867],{"class":3761},[3751,18483,18484],{"class":3753,"line":6327},[3751,18485,5213],{"emptyLinePlaceholder":5212},[3751,18487,18488,18490,18492,18495,18498,18501,18503,18506,18508],{"class":3753,"line":6332},[3751,18489,4438],{"class":3805},[3751,18491,6041],{"class":3757},[3751,18493,18494],{"class":3829}," TripRegion",[3751,18496,18497],{"class":3761}," = (",[3751,18499,18500],{"class":3757},"typeof",[3751,18502,18424],{"class":3765},[3751,18504,18505],{"class":3761},")[",[3751,18507,18313],{"class":3829},[3751,18509,6456],{"class":3761},[3742,18511,18514],{"className":6030,"code":18512,"filename":18513,"language":6032,"meta":3747,"style":3747},"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",[3521,18515,18516,18534,18538,18555,18559,18563,18568,18573,18578,18583,18588,18593,18598,18603,18608,18612,18626,18636,18644,18654,18663,18682,18702,18721,18731,18736,18743,18751,18759,18777,18795,18818,18838,18843,18857,18862,18869,18877,18895,18913,18918,18931,18936,18941,18946,18951,18969,18978,18982,18987,19033,19043,19055,19060,19064],{"__ignoreMap":3747},[3751,18517,18518,18520,18522,18525,18527,18529,18532],{"class":3753,"line":3754},[3751,18519,5173],{"class":3805},[3751,18521,5176],{"class":3761},[3751,18523,18524],{"class":3811},"z",[3751,18526,5181],{"class":3761},[3751,18528,5184],{"class":3805},[3751,18530,18531],{"class":3784}," 'zod'",[3751,18533,3867],{"class":3761},[3751,18535,18536],{"class":3753,"line":3802},[3751,18537,5213],{"emptyLinePlaceholder":5212},[3751,18539,18540,18542,18544,18546,18548,18550,18553],{"class":3753,"line":3870},[3751,18541,5173],{"class":3805},[3751,18543,5176],{"class":3761},[3751,18545,18030],{"class":3811},[3751,18547,5181],{"class":3761},[3751,18549,5184],{"class":3805},[3751,18551,18552],{"class":3784}," '.\u002Ftypes'",[3751,18554,3867],{"class":3761},[3751,18556,18557],{"class":3753,"line":4471},[3751,18558,5213],{"emptyLinePlaceholder":5212},[3751,18560,18561],{"class":3753,"line":4481},[3751,18562,10900],{"class":5471},[3751,18564,18565],{"class":3753,"line":4491},[3751,18566,18567],{"class":5471}," * Схема створення поїздки (Zod).\n",[3751,18569,18570],{"class":3753,"line":4532},[3751,18571,18572],{"class":5471}," * Повідомлення — українською: саме їх побачить користувач під полем.\n",[3751,18574,18575],{"class":3753,"line":4566},[3751,18576,18577],{"class":5471}," *\n",[3751,18579,18580],{"class":3753,"line":4576},[3751,18581,18582],{"class":5471}," * Покриває різні типи контролів:\n",[3751,18584,18585],{"class":3753,"line":4586},[3751,18586,18587],{"class":5471}," * - string → TextInput\n",[3751,18589,18590],{"class":3753,"line":4596},[3751,18591,18592],{"class":5471}," * - enum → Picker\n",[3751,18594,18595],{"class":3753,"line":4602},[3751,18596,18597],{"class":5471}," * - date → DateTimePicker\n",[3751,18599,18600],{"class":3753,"line":6159},[3751,18601,18602],{"class":5471}," * - boolean → Switch \u002F Checkbox\n",[3751,18604,18605],{"class":3753,"line":6170},[3751,18606,18607],{"class":5471}," * - number → Slider\n",[3751,18609,18610],{"class":3753,"line":6181},[3751,18611,10915],{"class":5471},[3751,18613,18614,18616,18618,18621,18623],{"class":3753,"line":6187},[3751,18615,4438],{"class":3805},[3751,18617,6119],{"class":3757},[3751,18619,18620],{"class":3765}," createTripSchema",[3751,18622,5457],{"class":3761},[3751,18624,18625],{"class":3811},"z\n",[3751,18627,18628,18631,18634],{"class":3753,"line":6195},[3751,18629,18630],{"class":3761},"  .",[3751,18632,18633],{"class":3777},"object",[3751,18635,7915],{"class":3761},[3751,18637,18638,18641],{"class":3753,"line":6201},[3751,18639,18640],{"class":3811},"    title:",[3751,18642,18643],{"class":3811}," z\n",[3751,18645,18646,18649,18651],{"class":3753,"line":6206},[3751,18647,18648],{"class":3761},"      .",[3751,18650,6057],{"class":3777},[3751,18652,18653],{"class":3761},"()\n",[3751,18655,18656,18658,18661],{"class":3753,"line":6216},[3751,18657,18648],{"class":3761},[3751,18659,18660],{"class":3777},"trim",[3751,18662,18653],{"class":3761},[3751,18664,18665,18667,18670,18672,18674,18676,18679],{"class":3753,"line":6226},[3751,18666,18648],{"class":3761},[3751,18668,18669],{"class":3777},"min",[3751,18671,3853],{"class":3761},[3751,18673,15547],{"class":7005},[3751,18675,3640],{"class":3761},[3751,18677,18678],{"class":3784},"'Назва має містити щонайменше 2 символи'",[3751,18680,18681],{"class":3761},")\n",[3751,18683,18684,18686,18689,18691,18694,18696,18699],{"class":3753,"line":6236},[3751,18685,18648],{"class":3761},[3751,18687,18688],{"class":3777},"max",[3751,18690,3853],{"class":3761},[3751,18692,18693],{"class":7005},"80",[3751,18695,3640],{"class":3761},[3751,18697,18698],{"class":3784},"'Назва занадто довга (макс. 80)'",[3751,18700,18701],{"class":3761},"),\n",[3751,18703,18704,18706,18709,18711,18714,18716,18718],{"class":3753,"line":6246},[3751,18705,6162],{"class":3811},[3751,18707,18708],{"class":3811}," z",[3751,18710,3601],{"class":3761},[3751,18712,18713],{"class":3777},"enum",[3751,18715,3853],{"class":3761},[3751,18717,18030],{"class":3765},[3751,18719,18720],{"class":3761},", {\n",[3751,18722,18723,18726,18729],{"class":3753,"line":6251},[3751,18724,18725],{"class":3811},"      error:",[3751,18727,18728],{"class":3784}," 'Оберіть регіон зі списку'",[3751,18730,6146],{"class":3761},[3751,18732,18733],{"class":3753,"line":6259},[3751,18734,18735],{"class":3761},"    }),\n",[3751,18737,18738,18741],{"class":3753,"line":6264},[3751,18739,18740],{"class":3811},"    description:",[3751,18742,18643],{"class":3811},[3751,18744,18745,18747,18749],{"class":3753,"line":6269},[3751,18746,18648],{"class":3761},[3751,18748,6057],{"class":3777},[3751,18750,18653],{"class":3761},[3751,18752,18753,18755,18757],{"class":3753,"line":6279},[3751,18754,18648],{"class":3761},[3751,18756,18660],{"class":3777},[3751,18758,18653],{"class":3761},[3751,18760,18761,18763,18765,18767,18770,18772,18775],{"class":3753,"line":6289},[3751,18762,18648],{"class":3761},[3751,18764,18669],{"class":3777},[3751,18766,3853],{"class":3761},[3751,18768,18769],{"class":7005},"10",[3751,18771,3640],{"class":3761},[3751,18773,18774],{"class":3784},"'Опис — щонайменше 10 символів'",[3751,18776,18681],{"class":3761},[3751,18778,18779,18781,18783,18785,18788,18790,18793],{"class":3753,"line":6299},[3751,18780,18648],{"class":3761},[3751,18782,18688],{"class":3777},[3751,18784,3853],{"class":3761},[3751,18786,18787],{"class":7005},"500",[3751,18789,3640],{"class":3761},[3751,18791,18792],{"class":3784},"'Опис занадто довгий (макс. 500)'",[3751,18794,18701],{"class":3761},[3751,18796,18797,18800,18802,18804,18807,18809,18812,18815],{"class":3753,"line":6309},[3751,18798,18799],{"class":3811},"    startDate:",[3751,18801,18708],{"class":3811},[3751,18803,3601],{"class":3761},[3751,18805,18806],{"class":3777},"date",[3751,18808,7670],{"class":3761},[3751,18810,18811],{"class":3811},"error:",[3751,18813,18814],{"class":3784}," 'Оберіть дату початку'",[3751,18816,18817],{"class":3761}," }),\n",[3751,18819,18820,18823,18825,18827,18829,18831,18833,18836],{"class":3753,"line":6314},[3751,18821,18822],{"class":3811},"    endDate:",[3751,18824,18708],{"class":3811},[3751,18826,3601],{"class":3761},[3751,18828,18806],{"class":3777},[3751,18830,7670],{"class":3761},[3751,18832,18811],{"class":3811},[3751,18834,18835],{"class":3784}," 'Оберіть дату завершення'",[3751,18837,18817],{"class":3761},[3751,18839,18840],{"class":3753,"line":6322},[3751,18841,18842],{"class":5471},"    \u002F** Switch: чи ховати поїздку з «публічної» стрічки (навчальна семантика). *\u002F\n",[3751,18844,18845,18848,18850,18852,18854],{"class":3753,"line":6327},[3751,18846,18847],{"class":3811},"    isPrivate:",[3751,18849,18708],{"class":3811},[3751,18851,3601],{"class":3761},[3751,18853,4840],{"class":3777},[3751,18855,18856],{"class":3761},"(),\n",[3751,18858,18859],{"class":3753,"line":6332},[3751,18860,18861],{"class":5471},"    \u002F** Slider: орієнтовна тривалість у днях. *\u002F\n",[3751,18863,18864,18867],{"class":3753,"line":6342},[3751,18865,18866],{"class":3811},"    plannedDays:",[3751,18868,18643],{"class":3811},[3751,18870,18871,18873,18875],{"class":3753,"line":6352},[3751,18872,18648],{"class":3761},[3751,18874,18313],{"class":3777},[3751,18876,18653],{"class":3761},[3751,18878,18879,18881,18883,18885,18888,18890,18893],{"class":3753,"line":6362},[3751,18880,18648],{"class":3761},[3751,18882,18669],{"class":3777},[3751,18884,3853],{"class":3761},[3751,18886,18887],{"class":7005},"1",[3751,18889,3640],{"class":3761},[3751,18891,18892],{"class":3784},"'Мінімум 1 день'",[3751,18894,18681],{"class":3761},[3751,18896,18897,18899,18901,18903,18906,18908,18911],{"class":3753,"line":6372},[3751,18898,18648],{"class":3761},[3751,18900,18688],{"class":3777},[3751,18902,3853],{"class":3761},[3751,18904,18905],{"class":7005},"14",[3751,18907,3640],{"class":3761},[3751,18909,18910],{"class":3784},"'У формі максимум 14 днів'",[3751,18912,18701],{"class":3761},[3751,18914,18915],{"class":3753,"line":6377},[3751,18916,18917],{"class":5471},"    \u002F** Checkbox: чи є план маршруту. *\u002F\n",[3751,18919,18920,18923,18925,18927,18929],{"class":3753,"line":6385},[3751,18921,18922],{"class":3811},"    hasItinerary:",[3751,18924,18708],{"class":3811},[3751,18926,3601],{"class":3761},[3751,18928,4840],{"class":3777},[3751,18930,18856],{"class":3761},[3751,18932,18933],{"class":3753,"line":6390},[3751,18934,18935],{"class":5471},"    \u002F**\n",[3751,18937,18938],{"class":3753,"line":6395},[3751,18939,18940],{"class":5471},"     * Checkbox з обов’язковою згодою.\n",[3751,18942,18943],{"class":3753,"line":6405},[3751,18944,18945],{"class":5471},"     * `true` — єдине прийнятне значення (як «прийняти умови»).\n",[3751,18947,18948],{"class":3753,"line":6415},[3751,18949,18950],{"class":5471},"     *\u002F\n",[3751,18952,18953,18956,18958,18960,18963,18965,18967],{"class":3753,"line":6425},[3751,18954,18955],{"class":3811},"    acceptedLocalSave:",[3751,18957,18708],{"class":3811},[3751,18959,3601],{"class":3761},[3751,18961,18962],{"class":3777},"literal",[3751,18964,3853],{"class":3761},[3751,18966,4848],{"class":3757},[3751,18968,18720],{"class":3761},[3751,18970,18971,18973,18976],{"class":3753,"line":6435},[3751,18972,18725],{"class":3811},[3751,18974,18975],{"class":3784}," 'Підтвердіть, що дані поки зберігаються лише на пристрої'",[3751,18977,6146],{"class":3761},[3751,18979,18980],{"class":3753,"line":6440},[3751,18981,18735],{"class":3761},[3751,18983,18984],{"class":3753,"line":6448},[3751,18985,18986],{"class":3761},"  })\n",[3751,18988,18989,18991,18994,18996,18999,19001,19003,19006,19008,19011,19013,19016,19019,19021,19023,19026,19028,19030],{"class":3753,"line":6453},[3751,18990,18630],{"class":3761},[3751,18992,18993],{"class":3777},"refine",[3751,18995,6508],{"class":3761},[3751,18997,18998],{"class":3811},"data",[3751,19000,3819],{"class":3761},[3751,19002,3847],{"class":3757},[3751,19004,19005],{"class":3811}," data",[3751,19007,3601],{"class":3761},[3751,19009,19010],{"class":3811},"endDate",[3751,19012,3601],{"class":3761},[3751,19014,19015],{"class":3777},"getTime",[3751,19017,19018],{"class":3761},"() >= ",[3751,19020,18998],{"class":3811},[3751,19022,3601],{"class":3761},[3751,19024,19025],{"class":3811},"startDate",[3751,19027,3601],{"class":3761},[3751,19029,19015],{"class":3777},[3751,19031,19032],{"class":3761},"(), {\n",[3751,19034,19035,19038,19041],{"class":3753,"line":6459},[3751,19036,19037],{"class":3811},"    message:",[3751,19039,19040],{"class":3784}," 'Дата завершення не може бути раніше початку'",[3751,19042,6146],{"class":3761},[3751,19044,19045,19048,19050,19053],{"class":3753,"line":6464},[3751,19046,19047],{"class":3811},"    path:",[3751,19049,3762],{"class":3761},[3751,19051,19052],{"class":3784},"'endDate'",[3751,19054,12613],{"class":3761},[3751,19056,19057],{"class":3753,"line":6496},[3751,19058,19059],{"class":3761},"  });\n",[3751,19061,19062],{"class":3753,"line":6531},[3751,19063,5213],{"emptyLinePlaceholder":5212},[3751,19065,19066,19068,19070,19072,19074,19076,19078,19081,19083,19085,19087],{"class":3753,"line":8184},[3751,19067,4438],{"class":3805},[3751,19069,6041],{"class":3757},[3751,19071,18166],{"class":3829},[3751,19073,5457],{"class":3761},[3751,19075,18524],{"class":3829},[3751,19077,3601],{"class":3761},[3751,19079,19080],{"class":3829},"infer",[3751,19082,3781],{"class":3761},[3751,19084,18500],{"class":3757},[3751,19086,18620],{"class":3811},[3751,19088,19089],{"class":3761},">;\n",[3742,19091,19094],{"className":6030,"code":19092,"filename":19093,"language":6032,"meta":3747,"style":3747},"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",[3521,19095,19096,19105,19112,19119,19126,19133,19140,19147,19154,19161,19168,19175,19182,19189,19199,19203,19226,19269,19273,19277,19281,19286,19291,19295,19328,19346,19363,19380,19397,19414,19431,19435,19462,19479,19509,19513,19556,19560,19564,19578,19621,19625,19629,19677],{"__ignoreMap":3747},[3751,19097,19098,19100,19103],{"class":3753,"line":3754},[3751,19099,3758],{"class":3757},[3751,19101,19102],{"class":3765}," MONTHS_UK_SHORT",[3751,19104,18427],{"class":3761},[3751,19106,19107,19110],{"class":3753,"line":3802},[3751,19108,19109],{"class":3784},"  'січ.'",[3751,19111,6146],{"class":3761},[3751,19113,19114,19117],{"class":3753,"line":3870},[3751,19115,19116],{"class":3784},"  'лют.'",[3751,19118,6146],{"class":3761},[3751,19120,19121,19124],{"class":3753,"line":4471},[3751,19122,19123],{"class":3784},"  'бер.'",[3751,19125,6146],{"class":3761},[3751,19127,19128,19131],{"class":3753,"line":4481},[3751,19129,19130],{"class":3784},"  'квіт.'",[3751,19132,6146],{"class":3761},[3751,19134,19135,19138],{"class":3753,"line":4491},[3751,19136,19137],{"class":3784},"  'трав.'",[3751,19139,6146],{"class":3761},[3751,19141,19142,19145],{"class":3753,"line":4532},[3751,19143,19144],{"class":3784},"  'черв.'",[3751,19146,6146],{"class":3761},[3751,19148,19149,19152],{"class":3753,"line":4566},[3751,19150,19151],{"class":3784},"  'лип.'",[3751,19153,6146],{"class":3761},[3751,19155,19156,19159],{"class":3753,"line":4576},[3751,19157,19158],{"class":3784},"  'серп.'",[3751,19160,6146],{"class":3761},[3751,19162,19163,19166],{"class":3753,"line":4586},[3751,19164,19165],{"class":3784},"  'вер.'",[3751,19167,6146],{"class":3761},[3751,19169,19170,19173],{"class":3753,"line":4596},[3751,19171,19172],{"class":3784},"  'жовт.'",[3751,19174,6146],{"class":3761},[3751,19176,19177,19180],{"class":3753,"line":4602},[3751,19178,19179],{"class":3784},"  'лист.'",[3751,19181,6146],{"class":3761},[3751,19183,19184,19187],{"class":3753,"line":6159},[3751,19185,19186],{"class":3784},"  'груд.'",[3751,19188,6146],{"class":3761},[3751,19190,19191,19193,19195,19197],{"class":3753,"line":6170},[3751,19192,18474],{"class":3761},[3751,19194,18477],{"class":3805},[3751,19196,6119],{"class":3757},[3751,19198,3867],{"class":3761},[3751,19200,19201],{"class":3753,"line":6181},[3751,19202,5213],{"emptyLinePlaceholder":5212},[3751,19204,19205,19207,19210,19212,19215,19217,19220,19222,19224],{"class":3753,"line":6187},[3751,19206,10920],{"class":3757},[3751,19208,19209],{"class":3777}," dayMonth",[3751,19211,3853],{"class":3761},[3751,19213,19214],{"class":3811},"d",[3751,19216,4806],{"class":3761},[3751,19218,19219],{"class":3829},"Date",[3751,19221,6483],{"class":3761},[3751,19223,6057],{"class":3829},[3751,19225,6493],{"class":3761},[3751,19227,19228,19230,19232,19234,19236,19238,19241,19243,19245,19248,19251,19253,19255,19257,19260,19263,19265,19267],{"class":3753,"line":6195},[3751,19229,4455],{"class":3805},[3751,19231,13680],{"class":3784},[3751,19233,7696],{"class":3757},[3751,19235,19214],{"class":3811},[3751,19237,3601],{"class":3843},[3751,19239,19240],{"class":3777},"getDate",[3751,19242,4167],{"class":3843},[3751,19244,3861],{"class":3757},[3751,19246,19247],{"class":3757}," ${",[3751,19249,19250],{"class":3765},"MONTHS_UK_SHORT",[3751,19252,7436],{"class":3843},[3751,19254,19214],{"class":3811},[3751,19256,3601],{"class":3843},[3751,19258,19259],{"class":3777},"getMonth",[3751,19261,19262],{"class":3843},"()]",[3751,19264,3861],{"class":3757},[3751,19266,7707],{"class":3784},[3751,19268,3867],{"class":3761},[3751,19270,19271],{"class":3753,"line":6201},[3751,19272,4605],{"class":3761},[3751,19274,19275],{"class":3753,"line":6206},[3751,19276,5213],{"emptyLinePlaceholder":5212},[3751,19278,19279],{"class":3753,"line":6216},[3751,19280,10900],{"class":5471},[3751,19282,19283],{"class":3753,"line":6226},[3751,19284,19285],{"class":5471}," * Людський підпис періоду, як у mock-стрічці:\n",[3751,19287,19288],{"class":3753,"line":6236},[3751,19289,19290],{"class":5471}," * «12–14 бер. 2026» або «28 бер. – 2 квіт. 2026».\n",[3751,19292,19293],{"class":3753,"line":6246},[3751,19294,10915],{"class":5471},[3751,19296,19297,19299,19301,19304,19306,19309,19311,19313,19315,19318,19320,19322,19324,19326],{"class":3753,"line":6251},[3751,19298,4438],{"class":3805},[3751,19300,4444],{"class":3757},[3751,19302,19303],{"class":3777}," formatTripDateLabel",[3751,19305,3853],{"class":3761},[3751,19307,19308],{"class":3811},"start",[3751,19310,4806],{"class":3761},[3751,19312,19219],{"class":3829},[3751,19314,3640],{"class":3761},[3751,19316,19317],{"class":3811},"end",[3751,19319,4806],{"class":3761},[3751,19321,19219],{"class":3829},[3751,19323,6483],{"class":3761},[3751,19325,6057],{"class":3829},[3751,19327,6493],{"class":3761},[3751,19329,19330,19332,19335,19337,19339,19341,19344],{"class":3753,"line":6259},[3751,19331,8859],{"class":3757},[3751,19333,19334],{"class":3765}," y1",[3751,19336,5457],{"class":3761},[3751,19338,19308],{"class":3811},[3751,19340,3601],{"class":3761},[3751,19342,19343],{"class":3777},"getFullYear",[3751,19345,5462],{"class":3761},[3751,19347,19348,19350,19353,19355,19357,19359,19361],{"class":3753,"line":6264},[3751,19349,8859],{"class":3757},[3751,19351,19352],{"class":3765}," y2",[3751,19354,5457],{"class":3761},[3751,19356,19317],{"class":3811},[3751,19358,3601],{"class":3761},[3751,19360,19343],{"class":3777},[3751,19362,5462],{"class":3761},[3751,19364,19365,19367,19370,19372,19374,19376,19378],{"class":3753,"line":6269},[3751,19366,8859],{"class":3757},[3751,19368,19369],{"class":3765}," m1",[3751,19371,5457],{"class":3761},[3751,19373,19308],{"class":3811},[3751,19375,3601],{"class":3761},[3751,19377,19259],{"class":3777},[3751,19379,5462],{"class":3761},[3751,19381,19382,19384,19387,19389,19391,19393,19395],{"class":3753,"line":6279},[3751,19383,8859],{"class":3757},[3751,19385,19386],{"class":3765}," m2",[3751,19388,5457],{"class":3761},[3751,19390,19317],{"class":3811},[3751,19392,3601],{"class":3761},[3751,19394,19259],{"class":3777},[3751,19396,5462],{"class":3761},[3751,19398,19399,19401,19404,19406,19408,19410,19412],{"class":3753,"line":6289},[3751,19400,8859],{"class":3757},[3751,19402,19403],{"class":3765}," d1",[3751,19405,5457],{"class":3761},[3751,19407,19308],{"class":3811},[3751,19409,3601],{"class":3761},[3751,19411,19240],{"class":3777},[3751,19413,5462],{"class":3761},[3751,19415,19416,19418,19421,19423,19425,19427,19429],{"class":3753,"line":6299},[3751,19417,8859],{"class":3757},[3751,19419,19420],{"class":3765}," d2",[3751,19422,5457],{"class":3761},[3751,19424,19317],{"class":3811},[3751,19426,3601],{"class":3761},[3751,19428,19240],{"class":3777},[3751,19430,5462],{"class":3761},[3751,19432,19433],{"class":3753,"line":6309},[3751,19434,5213],{"emptyLinePlaceholder":5212},[3751,19436,19437,19439,19441,19444,19446,19449,19452,19455,19457,19460],{"class":3753,"line":6314},[3751,19438,8955],{"class":3805},[3751,19440,3636],{"class":3761},[3751,19442,19443],{"class":3811},"y1",[3751,19445,3814],{"class":3761},[3751,19447,19448],{"class":3811},"y2",[3751,19450,19451],{"class":3761}," && ",[3751,19453,19454],{"class":3811},"m1",[3751,19456,3814],{"class":3761},[3751,19458,19459],{"class":3811},"m2",[3751,19461,8964],{"class":3761},[3751,19463,19464,19467,19469,19472,19474,19477],{"class":3753,"line":6322},[3751,19465,19466],{"class":3805},"    if",[3751,19468,3636],{"class":3761},[3751,19470,19471],{"class":3811},"d1",[3751,19473,3814],{"class":3761},[3751,19475,19476],{"class":3811},"d2",[3751,19478,8964],{"class":3761},[3751,19480,19481,19484,19486,19488,19491,19493,19495,19497,19499,19501,19503,19505,19507],{"class":3753,"line":6327},[3751,19482,19483],{"class":3805},"      return",[3751,19485,13680],{"class":3784},[3751,19487,7696],{"class":3757},[3751,19489,19490],{"class":3777},"dayMonth",[3751,19492,3853],{"class":3843},[3751,19494,19308],{"class":3811},[3751,19496,3858],{"class":3843},[3751,19498,3861],{"class":3757},[3751,19500,19247],{"class":3757},[3751,19502,19443],{"class":3811},[3751,19504,3861],{"class":3757},[3751,19506,7707],{"class":3784},[3751,19508,3867],{"class":3761},[3751,19510,19511],{"class":3753,"line":6332},[3751,19512,10703],{"class":3761},[3751,19514,19515,19517,19519,19521,19523,19525,19528,19530,19532,19534,19536,19538,19540,19542,19544,19546,19548,19550,19552,19554],{"class":3753,"line":6342},[3751,19516,8969],{"class":3805},[3751,19518,13680],{"class":3784},[3751,19520,7696],{"class":3757},[3751,19522,19471],{"class":3811},[3751,19524,3861],{"class":3757},[3751,19526,19527],{"class":3784},"–",[3751,19529,7696],{"class":3757},[3751,19531,19476],{"class":3811},[3751,19533,3861],{"class":3757},[3751,19535,19247],{"class":3757},[3751,19537,19250],{"class":3765},[3751,19539,7436],{"class":3843},[3751,19541,19454],{"class":3811},[3751,19543,7442],{"class":3843},[3751,19545,3861],{"class":3757},[3751,19547,19247],{"class":3757},[3751,19549,19443],{"class":3811},[3751,19551,3861],{"class":3757},[3751,19553,7707],{"class":3784},[3751,19555,3867],{"class":3761},[3751,19557,19558],{"class":3753,"line":6352},[3751,19559,9112],{"class":3761},[3751,19561,19562],{"class":3753,"line":6362},[3751,19563,5213],{"emptyLinePlaceholder":5212},[3751,19565,19566,19568,19570,19572,19574,19576],{"class":3753,"line":6372},[3751,19567,8955],{"class":3805},[3751,19569,3636],{"class":3761},[3751,19571,19443],{"class":3811},[3751,19573,3814],{"class":3761},[3751,19575,19448],{"class":3811},[3751,19577,8964],{"class":3761},[3751,19579,19580,19582,19584,19586,19588,19590,19592,19594,19596,19599,19601,19603,19605,19607,19609,19611,19613,19615,19617,19619],{"class":3753,"line":6377},[3751,19581,8969],{"class":3805},[3751,19583,13680],{"class":3784},[3751,19585,7696],{"class":3757},[3751,19587,19490],{"class":3777},[3751,19589,3853],{"class":3843},[3751,19591,19308],{"class":3811},[3751,19593,3858],{"class":3843},[3751,19595,3861],{"class":3757},[3751,19597,19598],{"class":3784}," – ",[3751,19600,7696],{"class":3757},[3751,19602,19490],{"class":3777},[3751,19604,3853],{"class":3843},[3751,19606,19317],{"class":3811},[3751,19608,3858],{"class":3843},[3751,19610,3861],{"class":3757},[3751,19612,19247],{"class":3757},[3751,19614,19443],{"class":3811},[3751,19616,3861],{"class":3757},[3751,19618,7707],{"class":3784},[3751,19620,3867],{"class":3761},[3751,19622,19623],{"class":3753,"line":6385},[3751,19624,9112],{"class":3761},[3751,19626,19627],{"class":3753,"line":6390},[3751,19628,5213],{"emptyLinePlaceholder":5212},[3751,19630,19631,19633,19635,19637,19639,19641,19643,19645,19647,19649,19651,19653,19655,19657,19659,19661,19663,19665,19667,19669,19671,19673,19675],{"class":3753,"line":6395},[3751,19632,4455],{"class":3805},[3751,19634,13680],{"class":3784},[3751,19636,7696],{"class":3757},[3751,19638,19490],{"class":3777},[3751,19640,3853],{"class":3843},[3751,19642,19308],{"class":3811},[3751,19644,3858],{"class":3843},[3751,19646,3861],{"class":3757},[3751,19648,19247],{"class":3757},[3751,19650,19443],{"class":3811},[3751,19652,3861],{"class":3757},[3751,19654,19598],{"class":3784},[3751,19656,7696],{"class":3757},[3751,19658,19490],{"class":3777},[3751,19660,3853],{"class":3843},[3751,19662,19317],{"class":3811},[3751,19664,3858],{"class":3843},[3751,19666,3861],{"class":3757},[3751,19668,19247],{"class":3757},[3751,19670,19448],{"class":3811},[3751,19672,3861],{"class":3757},[3751,19674,7707],{"class":3784},[3751,19676,3867],{"class":3761},[3751,19678,19679],{"class":3753,"line":6405},[3751,19680,4605],{"class":3761},[3742,19682,19685],{"className":3744,"code":19683,"filename":19684,"language":3746,"meta":3747,"style":3747},"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** Додати нову поїздку на початок стрічки (найсвіжіша зверху). *\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 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, addTrip, resetToMock }),\n    [trips, 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",[3521,19686,19687,19693,19700,19707,19714,19721,19728,19735,19745,19749,19766,19784,19788,19797,19809,19814,19837,19842,19856,19860,19864,19892,19896,19905,19917,19921,19925,19947,19980,19984,20009,20034,20038,20042,20059,20070,20074,20078,20092,20113,20129,20133,20137,20143,20175,20179,20183,20187,20203,20222,20233,20251,20255,20263],{"__ignoreMap":3747},[3751,19688,19689,19691],{"class":3753,"line":3754},[3751,19690,5173],{"class":3805},[3751,19692,6493],{"class":3761},[3751,19694,19695,19698],{"class":3753,"line":3802},[3751,19696,19697],{"class":3811},"  createContext",[3751,19699,6146],{"class":3761},[3751,19701,19702,19705],{"class":3753,"line":3870},[3751,19703,19704],{"class":3811},"  ReactNode",[3751,19706,6146],{"class":3761},[3751,19708,19709,19712],{"class":3753,"line":4471},[3751,19710,19711],{"class":3811},"  useCallback",[3751,19713,6146],{"class":3761},[3751,19715,19716,19719],{"class":3753,"line":4481},[3751,19717,19718],{"class":3811},"  useContext",[3751,19720,6146],{"class":3761},[3751,19722,19723,19726],{"class":3753,"line":4491},[3751,19724,19725],{"class":3811},"  useMemo",[3751,19727,6146],{"class":3761},[3751,19729,19730,19733],{"class":3753,"line":4532},[3751,19731,19732],{"class":3811},"  useState",[3751,19734,6146],{"class":3761},[3751,19736,19737,19739,19741,19743],{"class":3753,"line":4566},[3751,19738,11922],{"class":3761},[3751,19740,5184],{"class":3805},[3751,19742,11874],{"class":3784},[3751,19744,3867],{"class":3761},[3751,19746,19747],{"class":3753,"line":4576},[3751,19748,5213],{"emptyLinePlaceholder":5212},[3751,19750,19751,19753,19755,19757,19759,19761,19764],{"class":3753,"line":4586},[3751,19752,5173],{"class":3805},[3751,19754,5176],{"class":3761},[3751,19756,17967],{"class":3811},[3751,19758,5181],{"class":3761},[3751,19760,5184],{"class":3805},[3751,19762,19763],{"class":3784}," '.\u002FmockTrips'",[3751,19765,3867],{"class":3761},[3751,19767,19768,19770,19772,19774,19776,19778,19780,19782],{"class":3753,"line":4596},[3751,19769,5173],{"class":3805},[3751,19771,6041],{"class":3805},[3751,19773,5176],{"class":3761},[3751,19775,12330],{"class":3811},[3751,19777,5181],{"class":3761},[3751,19779,5184],{"class":3805},[3751,19781,18552],{"class":3784},[3751,19783,3867],{"class":3761},[3751,19785,19786],{"class":3753,"line":4602},[3751,19787,5213],{"emptyLinePlaceholder":5212},[3751,19789,19790,19792,19795],{"class":3753,"line":6159},[3751,19791,12042],{"class":3757},[3751,19793,19794],{"class":3829}," TripsContextValue",[3751,19796,6047],{"class":3761},[3751,19798,19799,19802,19804,19806],{"class":3753,"line":6170},[3751,19800,19801],{"class":3811},"  trips",[3751,19803,4806],{"class":3761},[3751,19805,12330],{"class":3829},[3751,19807,19808],{"class":3761},"[];\n",[3751,19810,19811],{"class":3753,"line":6181},[3751,19812,19813],{"class":5471},"  \u002F** Додати нову поїздку на початок стрічки (найсвіжіша зверху). *\u002F\n",[3751,19815,19816,19819,19822,19824,19826,19828,19830,19832,19835],{"class":3753,"line":6187},[3751,19817,19818],{"class":3777},"  addTrip",[3751,19820,19821],{"class":3761},": (",[3751,19823,12325],{"class":3811},[3751,19825,4806],{"class":3761},[3751,19827,12330],{"class":3829},[3751,19829,3819],{"class":3761},[3751,19831,3847],{"class":3757},[3751,19833,19834],{"class":3829}," void",[3751,19836,3867],{"class":3761},[3751,19838,19839],{"class":3753,"line":6195},[3751,19840,19841],{"class":5471},"  \u002F** Mock «оновити з сервера» — повертає seed mockTrips (без локально створених). *\u002F\n",[3751,19843,19844,19847,19850,19852,19854],{"class":3753,"line":6201},[3751,19845,19846],{"class":3777},"  resetToMock",[3751,19848,19849],{"class":3761},": () ",[3751,19851,3847],{"class":3757},[3751,19853,19834],{"class":3829},[3751,19855,3867],{"class":3761},[3751,19857,19858],{"class":3753,"line":6206},[3751,19859,6108],{"class":3761},[3751,19861,19862],{"class":3753,"line":6216},[3751,19863,5213],{"emptyLinePlaceholder":5212},[3751,19865,19866,19868,19871,19873,19876,19878,19881,19883,19886,19888,19890],{"class":3753,"line":6226},[3751,19867,3758],{"class":3757},[3751,19869,19870],{"class":3765}," TripsContext",[3751,19872,5457],{"class":3761},[3751,19874,19875],{"class":3777},"createContext",[3751,19877,3781],{"class":3761},[3751,19879,19880],{"class":3829},"TripsContextValue",[3751,19882,3788],{"class":3761},[3751,19884,19885],{"class":3829},"null",[3751,19887,3794],{"class":3761},[3751,19889,19885],{"class":3757},[3751,19891,3799],{"class":3761},[3751,19893,19894],{"class":3753,"line":6236},[3751,19895,5213],{"emptyLinePlaceholder":5212},[3751,19897,19898,19900,19903],{"class":3753,"line":6246},[3751,19899,12042],{"class":3757},[3751,19901,19902],{"class":3829}," TripsProviderProps",[3751,19904,6047],{"class":3761},[3751,19906,19907,19910,19912,19915],{"class":3753,"line":6251},[3751,19908,19909],{"class":3811},"  children",[3751,19911,4806],{"class":3761},[3751,19913,19914],{"class":3829},"ReactNode",[3751,19916,3867],{"class":3761},[3751,19918,19919],{"class":3753,"line":6259},[3751,19920,6108],{"class":3761},[3751,19922,19923],{"class":3753,"line":6264},[3751,19924,5213],{"emptyLinePlaceholder":5212},[3751,19926,19927,19929,19931,19934,19936,19939,19942,19945],{"class":3753,"line":6269},[3751,19928,4438],{"class":3805},[3751,19930,4444],{"class":3757},[3751,19932,19933],{"class":3777}," TripsProvider",[3751,19935,7670],{"class":3761},[3751,19937,19938],{"class":3811},"children",[3751,19940,19941],{"class":3761}," }: ",[3751,19943,19944],{"class":3829},"TripsProviderProps",[3751,19946,8964],{"class":3761},[3751,19948,19949,19951,19953,19955,19957,19960,19962,19964,19966,19968,19971,19973,19976,19978],{"class":3753,"line":6279},[3751,19950,8859],{"class":3757},[3751,19952,3762],{"class":3761},[3751,19954,12211],{"class":3765},[3751,19956,3640],{"class":3761},[3751,19958,19959],{"class":3765},"setTrips",[3751,19961,3774],{"class":3761},[3751,19963,3778],{"class":3777},[3751,19965,3781],{"class":3761},[3751,19967,12330],{"class":3829},[3751,19969,19970],{"class":3761},"[]>(() ",[3751,19972,3847],{"class":3757},[3751,19974,19975],{"class":3761}," [...",[3751,19977,17967],{"class":3811},[3751,19979,12526],{"class":3761},[3751,19981,19982],{"class":3753,"line":6289},[3751,19983,5213],{"emptyLinePlaceholder":5212},[3751,19985,19986,19988,19991,19993,19995,19997,19999,20001,20003,20005,20007],{"class":3753,"line":6299},[3751,19987,8859],{"class":3757},[3751,19989,19990],{"class":3765}," addTrip",[3751,19992,5457],{"class":3761},[3751,19994,11863],{"class":3777},[3751,19996,6508],{"class":3761},[3751,19998,12325],{"class":3811},[3751,20000,4806],{"class":3761},[3751,20002,12330],{"class":3829},[3751,20004,3819],{"class":3761},[3751,20006,3847],{"class":3757},[3751,20008,6493],{"class":3761},[3751,20010,20011,20014,20016,20019,20021,20023,20025,20027,20030,20032],{"class":3753,"line":6309},[3751,20012,20013],{"class":3777},"    setTrips",[3751,20015,6508],{"class":3761},[3751,20017,20018],{"class":3811},"prev",[3751,20020,3819],{"class":3761},[3751,20022,3847],{"class":3757},[3751,20024,3762],{"class":3761},[3751,20026,12325],{"class":3811},[3751,20028,20029],{"class":3761},", ...",[3751,20031,20018],{"class":3811},[3751,20033,12526],{"class":3761},[3751,20035,20036],{"class":3753,"line":6314},[3751,20037,12374],{"class":3761},[3751,20039,20040],{"class":3753,"line":6322},[3751,20041,5213],{"emptyLinePlaceholder":5212},[3751,20043,20044,20046,20049,20051,20053,20055,20057],{"class":3753,"line":6327},[3751,20045,8859],{"class":3757},[3751,20047,20048],{"class":3765}," resetToMock",[3751,20050,5457],{"class":3761},[3751,20052,11863],{"class":3777},[3751,20054,12457],{"class":3761},[3751,20056,3847],{"class":3757},[3751,20058,6493],{"class":3761},[3751,20060,20061,20063,20066,20068],{"class":3753,"line":6332},[3751,20062,20013],{"class":3777},[3751,20064,20065],{"class":3761},"([...",[3751,20067,17967],{"class":3811},[3751,20069,12526],{"class":3761},[3751,20071,20072],{"class":3753,"line":6342},[3751,20073,12374],{"class":3761},[3751,20075,20076],{"class":3753,"line":6352},[3751,20077,5213],{"emptyLinePlaceholder":5212},[3751,20079,20080,20082,20085,20087,20090],{"class":3753,"line":6362},[3751,20081,8859],{"class":3757},[3751,20083,20084],{"class":3765}," value",[3751,20086,5457],{"class":3761},[3751,20088,20089],{"class":3777},"useMemo",[3751,20091,12544],{"class":3761},[3751,20093,20094,20097,20099,20101,20103,20105,20107,20109,20111],{"class":3753,"line":6372},[3751,20095,20096],{"class":3761},"    () ",[3751,20098,3847],{"class":3757},[3751,20100,7074],{"class":3761},[3751,20102,12211],{"class":3811},[3751,20104,3640],{"class":3761},[3751,20106,17775],{"class":3811},[3751,20108,3640],{"class":3761},[3751,20110,12216],{"class":3811},[3751,20112,18817],{"class":3761},[3751,20114,20115,20117,20119,20121,20123,20125,20127],{"class":3753,"line":6377},[3751,20116,12608],{"class":3761},[3751,20118,12211],{"class":3811},[3751,20120,3640],{"class":3761},[3751,20122,17775],{"class":3811},[3751,20124,3640],{"class":3761},[3751,20126,12216],{"class":3811},[3751,20128,12613],{"class":3761},[3751,20130,20131],{"class":3753,"line":6385},[3751,20132,4599],{"class":3761},[3751,20134,20135],{"class":3753,"line":6390},[3751,20136,5213],{"emptyLinePlaceholder":5212},[3751,20138,20139,20141],{"class":3753,"line":6395},[3751,20140,4455],{"class":3805},[3751,20142,4458],{"class":3761},[3751,20144,20145,20147,20150,20152,20154,20156,20159,20161,20163,20165,20167,20169,20171,20173],{"class":3753,"line":6405},[3751,20146,4463],{"class":3825},[3751,20148,20149],{"class":3829},"TripsContext.Provider",[3751,20151,20084],{"class":3833},[3751,20153,3837],{"class":3761},[3751,20155,3840],{"class":3757},[3751,20157,20158],{"class":3811},"value",[3751,20160,3861],{"class":3757},[3751,20162,5239],{"class":3825},[3751,20164,3840],{"class":3757},[3751,20166,19938],{"class":3811},[3751,20168,3861],{"class":3757},[3751,20170,5245],{"class":3825},[3751,20172,20149],{"class":3829},[3751,20174,4468],{"class":3825},[3751,20176,20177],{"class":3753,"line":6415},[3751,20178,4599],{"class":3761},[3751,20180,20181],{"class":3753,"line":6425},[3751,20182,4605],{"class":3761},[3751,20184,20185],{"class":3753,"line":6435},[3751,20186,5213],{"emptyLinePlaceholder":5212},[3751,20188,20189,20191,20193,20196,20199,20201],{"class":3753,"line":6440},[3751,20190,4438],{"class":3805},[3751,20192,4444],{"class":3757},[3751,20194,20195],{"class":3777}," useTrips",[3751,20197,20198],{"class":3761},"(): ",[3751,20200,19880],{"class":3829},[3751,20202,6493],{"class":3761},[3751,20204,20205,20207,20210,20212,20215,20217,20220],{"class":3753,"line":6448},[3751,20206,8859],{"class":3757},[3751,20208,20209],{"class":3765}," ctx",[3751,20211,5457],{"class":3761},[3751,20213,20214],{"class":3777},"useContext",[3751,20216,3853],{"class":3761},[3751,20218,20219],{"class":3811},"TripsContext",[3751,20221,3799],{"class":3761},[3751,20223,20224,20226,20228,20231],{"class":3753,"line":6453},[3751,20225,8955],{"class":3805},[3751,20227,8958],{"class":3761},[3751,20229,20230],{"class":3811},"ctx",[3751,20232,8964],{"class":3761},[3751,20234,20235,20238,20241,20244,20246,20249],{"class":3753,"line":6459},[3751,20236,20237],{"class":3805},"    throw",[3751,20239,20240],{"class":3757}," new",[3751,20242,20243],{"class":3777}," Error",[3751,20245,3853],{"class":3761},[3751,20247,20248],{"class":3784},"'useTrips треба викликати всередині TripsProvider'",[3751,20250,3799],{"class":3761},[3751,20252,20253],{"class":3753,"line":6464},[3751,20254,9112],{"class":3761},[3751,20256,20257,20259,20261],{"class":3753,"line":6496},[3751,20258,4455],{"class":3805},[3751,20260,20209],{"class":3811},[3751,20262,3867],{"class":3761},[3751,20264,20265],{"class":3753,"line":6531},[3751,20266,4605],{"class":3761},[3742,20268,20271],{"className":6030,"code":20269,"filename":20270,"language":6032,"meta":3747,"style":3747},"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",[3521,20272,20273,20291,20295,20299,20304,20309,20313,20328,20332,20341,20350,20360,20369,20374,20381,20390,20394,20398,20407,20416,20425,20434,20438,20445,20454,20458,20462,20471,20480,20489,20498,20502,20509,20518,20522,20526,20535,20544,20553,20562,20566,20573,20582,20586,20590,20599,20608,20617,20626,20630,20637,20645,20649,20653,20662,20671,20680,20689,20693,20700,20708,20712,20716,20725,20734,20743,20752,20756,20763,20772,20776,20780,20789,20798,20807,20816,20820,20827,20835,20839,20843,20852,20861,20870,20879,20883,20890,20898,20902,20906,20915,20924,20933,20942,20946,20953,20961,20965,20969,20978,20987,20996,21005,21009,21016,21024,21028,21032,21041,21050,21059,21068,21072,21079,21087,21091],{"__ignoreMap":3747},[3751,20274,20275,20277,20279,20281,20283,20285,20287,20289],{"class":3753,"line":3754},[3751,20276,5173],{"class":3805},[3751,20278,6041],{"class":3805},[3751,20280,5176],{"class":3761},[3751,20282,12330],{"class":3811},[3751,20284,5181],{"class":3761},[3751,20286,5184],{"class":3805},[3751,20288,18552],{"class":3784},[3751,20290,3867],{"class":3761},[3751,20292,20293],{"class":3753,"line":3802},[3751,20294,5213],{"emptyLinePlaceholder":5212},[3751,20296,20297],{"class":3753,"line":3870},[3751,20298,10900],{"class":5471},[3751,20300,20301],{"class":3753,"line":4471},[3751,20302,20303],{"class":5471}," * Mock-стрічка поїздок. Більше за 3–5 елементів — щоб віртуалізація\n",[3751,20305,20306],{"class":3753,"line":4481},[3751,20307,20308],{"class":5471}," * (FlashList \u002F FlatList) мала сенс на домашньому екрані.\n",[3751,20310,20311],{"class":3753,"line":4491},[3751,20312,10915],{"class":5471},[3751,20314,20315,20317,20319,20322,20324,20326],{"class":3753,"line":4532},[3751,20316,4438],{"class":3805},[3751,20318,6119],{"class":3757},[3751,20320,20321],{"class":3765}," mockTrips",[3751,20323,4806],{"class":3761},[3751,20325,12330],{"class":3829},[3751,20327,6130],{"class":3761},[3751,20329,20330],{"class":3753,"line":4566},[3751,20331,6135],{"class":3761},[3751,20333,20334,20336,20339],{"class":3753,"line":4576},[3751,20335,6140],{"class":3811},[3751,20337,20338],{"class":3784}," '1'",[3751,20340,6146],{"class":3761},[3751,20342,20343,20345,20348],{"class":3753,"line":4586},[3751,20344,18640],{"class":3811},[3751,20346,20347],{"class":3784}," 'Карпати на вихідні'",[3751,20349,6146],{"class":3761},[3751,20351,20352,20355,20358],{"class":3753,"line":4596},[3751,20353,20354],{"class":3811},"    dateLabel:",[3751,20356,20357],{"class":3784}," '12–14 бер. 2026'",[3751,20359,6146],{"class":3761},[3751,20361,20362,20364,20367],{"class":3753,"line":4602},[3751,20363,18740],{"class":3811},[3751,20365,20366],{"class":3784}," 'Говерла, полонини й вечірній чай біля каміну в котеджі.'",[3751,20368,6146],{"class":3761},[3751,20370,20371],{"class":3753,"line":6159},[3751,20372,20373],{"class":3811},"    coverUri:\n",[3751,20375,20376,20379],{"class":3753,"line":6170},[3751,20377,20378],{"class":3784},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1464822759023-fed622ff2c3b?w=800&q=80'",[3751,20380,6146],{"class":3761},[3751,20382,20383,20385,20388],{"class":3753,"line":6181},[3751,20384,6162],{"class":3811},[3751,20386,20387],{"class":3784}," 'Карпати'",[3751,20389,6146],{"class":3761},[3751,20391,20392],{"class":3753,"line":6187},[3751,20393,6198],{"class":3761},[3751,20395,20396],{"class":3753,"line":6195},[3751,20397,6135],{"class":3761},[3751,20399,20400,20402,20405],{"class":3753,"line":6201},[3751,20401,6140],{"class":3811},[3751,20403,20404],{"class":3784}," '2'",[3751,20406,6146],{"class":3761},[3751,20408,20409,20411,20414],{"class":3753,"line":6206},[3751,20410,18640],{"class":3811},[3751,20412,20413],{"class":3784}," 'Львівський вікенд'",[3751,20415,6146],{"class":3761},[3751,20417,20418,20420,20423],{"class":3753,"line":6216},[3751,20419,20354],{"class":3811},[3751,20421,20422],{"class":3784}," '2–4 трав. 2026'",[3751,20424,6146],{"class":3761},[3751,20426,20427,20429,20432],{"class":3753,"line":6226},[3751,20428,18740],{"class":3811},[3751,20430,20431],{"class":3784}," 'Кава, площа Ринок, закапелки й нічний трамвай.'",[3751,20433,6146],{"class":3761},[3751,20435,20436],{"class":3753,"line":6236},[3751,20437,20373],{"class":3811},[3751,20439,20440,20443],{"class":3753,"line":6246},[3751,20441,20442],{"class":3784},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1555881400-74d7acaacd8b?w=800&q=80'",[3751,20444,6146],{"class":3761},[3751,20446,20447,20449,20452],{"class":3753,"line":6251},[3751,20448,6162],{"class":3811},[3751,20450,20451],{"class":3784}," 'Захід'",[3751,20453,6146],{"class":3761},[3751,20455,20456],{"class":3753,"line":6259},[3751,20457,6198],{"class":3761},[3751,20459,20460],{"class":3753,"line":6264},[3751,20461,6135],{"class":3761},[3751,20463,20464,20466,20469],{"class":3753,"line":6269},[3751,20465,6140],{"class":3811},[3751,20467,20468],{"class":3784}," '3'",[3751,20470,6146],{"class":3761},[3751,20472,20473,20475,20478],{"class":3753,"line":6279},[3751,20474,18640],{"class":3811},[3751,20476,20477],{"class":3784}," 'Одеса біля моря'",[3751,20479,6146],{"class":3761},[3751,20481,20482,20484,20487],{"class":3753,"line":6289},[3751,20483,20354],{"class":3811},[3751,20485,20486],{"class":3784}," '18–22 лип. 2026'",[3751,20488,6146],{"class":3761},[3751,20490,20491,20493,20496],{"class":3753,"line":6299},[3751,20492,18740],{"class":3811},[3751,20494,20495],{"class":3784}," 'Схід сонця на набережній, рибний ринок і вечірній Привоз.'",[3751,20497,6146],{"class":3761},[3751,20499,20500],{"class":3753,"line":6309},[3751,20501,20373],{"class":3811},[3751,20503,20504,20507],{"class":3753,"line":6314},[3751,20505,20506],{"class":3784},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=800&q=80'",[3751,20508,6146],{"class":3761},[3751,20510,20511,20513,20516],{"class":3753,"line":6322},[3751,20512,6162],{"class":3811},[3751,20514,20515],{"class":3784}," 'Південь'",[3751,20517,6146],{"class":3761},[3751,20519,20520],{"class":3753,"line":6327},[3751,20521,6198],{"class":3761},[3751,20523,20524],{"class":3753,"line":6332},[3751,20525,6135],{"class":3761},[3751,20527,20528,20530,20533],{"class":3753,"line":6342},[3751,20529,6140],{"class":3811},[3751,20531,20532],{"class":3784}," '4'",[3751,20534,6146],{"class":3761},[3751,20536,20537,20539,20542],{"class":3753,"line":6352},[3751,20538,18640],{"class":3811},[3751,20540,20541],{"class":3784}," 'Київ на три дні'",[3751,20543,6146],{"class":3761},[3751,20545,20546,20548,20551],{"class":3753,"line":6362},[3751,20547,20354],{"class":3811},[3751,20549,20550],{"class":3784}," '5–7 черв. 2026'",[3751,20552,6146],{"class":3761},[3751,20554,20555,20557,20560],{"class":3753,"line":6372},[3751,20556,18740],{"class":3811},[3751,20558,20559],{"class":3784}," 'Поділ, Андріївський узвіз, вечірня прогулянка Хрещатиком.'",[3751,20561,6146],{"class":3761},[3751,20563,20564],{"class":3753,"line":6377},[3751,20565,20373],{"class":3811},[3751,20567,20568,20571],{"class":3753,"line":6385},[3751,20569,20570],{"class":3784},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1565008576549-57569a49371d?w=800&q=80'",[3751,20572,6146],{"class":3761},[3751,20574,20575,20577,20580],{"class":3753,"line":6390},[3751,20576,6162],{"class":3811},[3751,20578,20579],{"class":3784}," 'Центр'",[3751,20581,6146],{"class":3761},[3751,20583,20584],{"class":3753,"line":6395},[3751,20585,6198],{"class":3761},[3751,20587,20588],{"class":3753,"line":6405},[3751,20589,6135],{"class":3761},[3751,20591,20592,20594,20597],{"class":3753,"line":6415},[3751,20593,6140],{"class":3811},[3751,20595,20596],{"class":3784}," '5'",[3751,20598,6146],{"class":3761},[3751,20600,20601,20603,20606],{"class":3753,"line":6425},[3751,20602,18640],{"class":3811},[3751,20604,20605],{"class":3784}," 'Чернівці: університет і дворики'",[3751,20607,6146],{"class":3761},[3751,20609,20610,20612,20615],{"class":3753,"line":6435},[3751,20611,20354],{"class":3811},[3751,20613,20614],{"class":3784}," '20–22 вер. 2026'",[3751,20616,6146],{"class":3761},[3751,20618,20619,20621,20624],{"class":3753,"line":6440},[3751,20620,18740],{"class":3811},[3751,20622,20623],{"class":3784}," 'Резиденція митрополитів, кава на Кобилянській, нічний двір.'",[3751,20625,6146],{"class":3761},[3751,20627,20628],{"class":3753,"line":6448},[3751,20629,20373],{"class":3811},[3751,20631,20632,20635],{"class":3753,"line":6453},[3751,20633,20634],{"class":3784},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1519681393784-d120267933ba?w=800&q=80'",[3751,20636,6146],{"class":3761},[3751,20638,20639,20641,20643],{"class":3753,"line":6459},[3751,20640,6162],{"class":3811},[3751,20642,20451],{"class":3784},[3751,20644,6146],{"class":3761},[3751,20646,20647],{"class":3753,"line":6464},[3751,20648,6198],{"class":3761},[3751,20650,20651],{"class":3753,"line":6496},[3751,20652,6135],{"class":3761},[3751,20654,20655,20657,20660],{"class":3753,"line":6531},[3751,20656,6140],{"class":3811},[3751,20658,20659],{"class":3784}," '6'",[3751,20661,6146],{"class":3761},[3751,20663,20664,20666,20669],{"class":3753,"line":8184},[3751,20665,18640],{"class":3811},[3751,20667,20668],{"class":3784}," 'Кам’янець-Подільський'",[3751,20670,6146],{"class":3761},[3751,20672,20673,20675,20678],{"class":3753,"line":8192},[3751,20674,20354],{"class":3811},[3751,20676,20677],{"class":3784}," '11–13 квіт. 2026'",[3751,20679,6146],{"class":3761},[3751,20681,20682,20684,20687],{"class":3753,"line":8202},[3751,20683,18740],{"class":3811},[3751,20685,20686],{"class":3784}," 'Фортеця, каньйон Смотрича, захід сонця з оглядового майданчика.'",[3751,20688,6146],{"class":3761},[3751,20690,20691],{"class":3753,"line":8212},[3751,20692,20373],{"class":3811},[3751,20694,20695,20698],{"class":3753,"line":8222},[3751,20696,20697],{"class":3784},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1506905925346-21bda4d32df4?w=800&q=80'",[3751,20699,6146],{"class":3761},[3751,20701,20702,20704,20706],{"class":3753,"line":8232},[3751,20703,6162],{"class":3811},[3751,20705,20451],{"class":3784},[3751,20707,6146],{"class":3761},[3751,20709,20710],{"class":3753,"line":8237},[3751,20711,6198],{"class":3761},[3751,20713,20714],{"class":3753,"line":12660},[3751,20715,6135],{"class":3761},[3751,20717,20718,20720,20723],{"class":3753,"line":12671},[3751,20719,6140],{"class":3811},[3751,20721,20722],{"class":3784}," '7'",[3751,20724,6146],{"class":3761},[3751,20726,20727,20729,20732],{"class":3753,"line":12713},[3751,20728,18640],{"class":3811},[3751,20730,20731],{"class":3784}," 'Харків: місто й парки'",[3751,20733,6146],{"class":3761},[3751,20735,20736,20738,20741],{"class":3753,"line":12735},[3751,20737,20354],{"class":3811},[3751,20739,20740],{"class":3784}," '8–10 серп. 2026'",[3751,20742,6146],{"class":3761},[3751,20744,20745,20747,20750],{"class":3753,"line":12765},[3751,20746,18740],{"class":3811},[3751,20748,20749],{"class":3784}," 'Саржин яр, набережна, вечірні вогні Сумської.'",[3751,20751,6146],{"class":3761},[3751,20753,20754],{"class":3753,"line":12799},[3751,20755,20373],{"class":3811},[3751,20757,20758,20761],{"class":3753,"line":12806},[3751,20759,20760],{"class":3784},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1449824913935-59a10b8d2000?w=800&q=80'",[3751,20762,6146],{"class":3761},[3751,20764,20765,20767,20770],{"class":3753,"line":12812},[3751,20766,6162],{"class":3811},[3751,20768,20769],{"class":3784}," 'Схід'",[3751,20771,6146],{"class":3761},[3751,20773,20774],{"class":3753,"line":12826},[3751,20775,6198],{"class":3761},[3751,20777,20778],{"class":3753,"line":12852},[3751,20779,6135],{"class":3761},[3751,20781,20782,20784,20787],{"class":3753,"line":12872},[3751,20783,6140],{"class":3811},[3751,20785,20786],{"class":3784}," '8'",[3751,20788,6146],{"class":3761},[3751,20790,20791,20793,20796],{"class":3753,"line":12904},[3751,20792,18640],{"class":3811},[3751,20794,20795],{"class":3784}," 'Дніпро: мости й пагорби'",[3751,20797,6146],{"class":3761},[3751,20799,20800,20802,20805],{"class":3753,"line":12912},[3751,20801,20354],{"class":3811},[3751,20803,20804],{"class":3784}," '15–17 трав. 2026'",[3751,20806,6146],{"class":3761},[3751,20808,20809,20811,20814],{"class":3753,"line":12923},[3751,20810,18740],{"class":3811},[3751,20812,20813],{"class":3784}," 'Мереживо мостів, прогулянка набережною, кава з видом на річку.'",[3751,20815,6146],{"class":3761},[3751,20817,20818],{"class":3753,"line":12966},[3751,20819,20373],{"class":3811},[3751,20821,20822,20825],{"class":3753,"line":12988},[3751,20823,20824],{"class":3784},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1476514525535-07fb3b4ae5f1?w=800&q=80'",[3751,20826,6146],{"class":3761},[3751,20828,20829,20831,20833],{"class":3753,"line":12994},[3751,20830,6162],{"class":3811},[3751,20832,20579],{"class":3784},[3751,20834,6146],{"class":3761},[3751,20836,20837],{"class":3753,"line":13003},[3751,20838,6198],{"class":3761},[3751,20840,20841],{"class":3753,"line":13014},[3751,20842,6135],{"class":3761},[3751,20844,20845,20847,20850],{"class":3753,"line":13019},[3751,20846,6140],{"class":3811},[3751,20848,20849],{"class":3784}," '9'",[3751,20851,6146],{"class":3761},[3751,20853,20854,20856,20859],{"class":3753,"line":13053},[3751,20855,18640],{"class":3811},[3751,20857,20858],{"class":3784}," 'Ужгород і виноград'",[3751,20860,6146],{"class":3761},[3751,20862,20863,20865,20868],{"class":3753,"line":13062},[3751,20864,20354],{"class":3811},[3751,20866,20867],{"class":3784}," '25–27 жовт. 2026'",[3751,20869,6146],{"class":3761},[3751,20871,20872,20874,20877],{"class":3753,"line":13067},[3751,20873,18740],{"class":3811},[3751,20875,20876],{"class":3784}," 'Замок, липова алея, дегустація біля місцевих виноробів.'",[3751,20878,6146],{"class":3761},[3751,20880,20881],{"class":3753,"line":13072},[3751,20882,20373],{"class":3811},[3751,20884,20885,20888],{"class":3753,"line":13082},[3751,20886,20887],{"class":3784},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1500530855697-b586d89ba3ee?w=800&q=80'",[3751,20889,6146],{"class":3761},[3751,20891,20892,20894,20896],{"class":3753,"line":13090},[3751,20893,6162],{"class":3811},[3751,20895,20387],{"class":3784},[3751,20897,6146],{"class":3761},[3751,20899,20900],{"class":3753,"line":13103},[3751,20901,6198],{"class":3761},[3751,20903,20904],{"class":3753,"line":13116},[3751,20905,6135],{"class":3761},[3751,20907,20908,20910,20913],{"class":3753,"line":13122},[3751,20909,6140],{"class":3811},[3751,20911,20912],{"class":3784}," '10'",[3751,20914,6146],{"class":3761},[3751,20916,20917,20919,20922],{"class":3753,"line":13136},[3751,20918,18640],{"class":3811},[3751,20920,20921],{"class":3784}," 'Полтава: смаки й історія'",[3751,20923,6146],{"class":3761},[3751,20925,20926,20928,20931],{"class":3753,"line":13151},[3751,20927,20354],{"class":3811},[3751,20929,20930],{"class":3784}," '3–5 лип. 2026'",[3751,20932,6146],{"class":3761},[3751,20934,20935,20937,20940],{"class":3753,"line":13165},[3751,20936,18740],{"class":3811},[3751,20938,20939],{"class":3784}," 'Котлета по-київськи — ні, галушки; музей і тихі двори.'",[3751,20941,6146],{"class":3761},[3751,20943,20944],{"class":3753,"line":13170},[3751,20945,20373],{"class":3811},[3751,20947,20948,20951],{"class":3753,"line":13178},[3751,20949,20950],{"class":3784},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1469474968028-56623f02e42e?w=800&q=80'",[3751,20952,6146],{"class":3761},[3751,20954,20955,20957,20959],{"class":3753,"line":13183},[3751,20956,6162],{"class":3811},[3751,20958,20579],{"class":3784},[3751,20960,6146],{"class":3761},[3751,20962,20963],{"class":3753,"line":13215},[3751,20964,6198],{"class":3761},[3751,20966,20967],{"class":3753,"line":13221},[3751,20968,6135],{"class":3761},[3751,20970,20971,20973,20976],{"class":3753,"line":13230},[3751,20972,6140],{"class":3811},[3751,20974,20975],{"class":3784}," '11'",[3751,20977,6146],{"class":3761},[3751,20979,20980,20982,20985],{"class":3753,"line":13238},[3751,20981,18640],{"class":3811},[3751,20983,20984],{"class":3784}," 'Затока: пісок і шторм'",[3751,20986,6146],{"class":3761},[3751,20988,20989,20991,20994],{"class":3753,"line":13249},[3751,20990,20354],{"class":3811},[3751,20992,20993],{"class":3784}," '1–7 серп. 2026'",[3751,20995,6146],{"class":3761},[3751,20997,20998,21000,21003],{"class":3753,"line":13267},[3751,20999,18740],{"class":3811},[3751,21001,21002],{"class":3784}," 'Ранкові купання, вечірній вітер, книжка під парасолькою.'",[3751,21004,6146],{"class":3761},[3751,21006,21007],{"class":3753,"line":13286},[3751,21008,20373],{"class":3811},[3751,21010,21011,21014],{"class":3753,"line":13291},[3751,21012,21013],{"class":3784},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=600&q=80'",[3751,21015,6146],{"class":3761},[3751,21017,21018,21020,21022],{"class":3753,"line":13297},[3751,21019,6162],{"class":3811},[3751,21021,20515],{"class":3784},[3751,21023,6146],{"class":3761},[3751,21025,21026],{"class":3753,"line":13306},[3751,21027,6198],{"class":3761},[3751,21029,21030],{"class":3753,"line":13315},[3751,21031,6135],{"class":3761},[3751,21033,21034,21036,21039],{"class":3753,"line":13320},[3751,21035,6140],{"class":3811},[3751,21037,21038],{"class":3784}," '12'",[3751,21040,6146],{"class":3761},[3751,21042,21043,21045,21048],{"class":3753,"line":13325},[3751,21044,18640],{"class":3811},[3751,21046,21047],{"class":3784}," 'Яремче: водоспад і ліс'",[3751,21049,6146],{"class":3761},[3751,21051,21052,21054,21057],{"class":3753,"line":13332},[3751,21053,20354],{"class":3811},[3751,21055,21056],{"class":3784}," '19–21 черв. 2026'",[3751,21058,6146],{"class":3761},[3751,21060,21061,21063,21066],{"class":3753,"line":13355},[3751,21062,18740],{"class":3811},[3751,21064,21065],{"class":3784}," 'Прогулянка до водоспаду, гуцульська кухня, туман над смереками.'",[3751,21067,6146],{"class":3761},[3751,21069,21070],{"class":3753,"line":13362},[3751,21071,20373],{"class":3811},[3751,21073,21074,21077],{"class":3753,"line":13373},[3751,21075,21076],{"class":3784},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1441974231531-c6227db76b6e?w=800&q=80'",[3751,21078,6146],{"class":3761},[3751,21080,21081,21083,21085],{"class":3753,"line":13385},[3751,21082,6162],{"class":3811},[3751,21084,20387],{"class":3784},[3751,21086,6146],{"class":3761},[3751,21088,21089],{"class":3753,"line":13391},[3751,21090,6198],{"class":3761},[3751,21092,21093],{"class":3753,"line":13405},[3751,21094,6456],{"class":3761},[3742,21096,21099],{"className":6030,"code":21097,"filename":21098,"language":6032,"meta":3747,"style":3747},"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",[3521,21100,21101,21119,21123,21128,21143,21147,21156,21165,21174,21183,21193,21197,21201,21210,21218,21227,21235,21244,21248,21252,21261,21269,21278,21286,21295,21299,21303,21312,21320,21329,21337,21346,21350,21354,21363,21371,21380,21388,21397,21401,21405,21414,21422,21431,21439,21448,21452,21456,21465,21473,21482,21490,21499,21503,21507,21516,21524,21533,21542,21551,21555,21559,21568,21576,21585,21594,21603,21607,21611,21620,21628,21637,21646,21655,21659],{"__ignoreMap":3747},[3751,21102,21103,21105,21107,21109,21111,21113,21115,21117],{"class":3753,"line":3754},[3751,21104,5173],{"class":3805},[3751,21106,6041],{"class":3805},[3751,21108,5176],{"class":3761},[3751,21110,12273],{"class":3811},[3751,21112,5181],{"class":3761},[3751,21114,5184],{"class":3805},[3751,21116,18552],{"class":3784},[3751,21118,3867],{"class":3761},[3751,21120,21121],{"class":3753,"line":3802},[3751,21122,5213],{"emptyLinePlaceholder":5212},[3751,21124,21125],{"class":3753,"line":3870},[3751,21126,21127],{"class":5471},"\u002F** Місця всередині поїздок — для горизонтальної стрічки на home. *\u002F\n",[3751,21129,21130,21132,21134,21137,21139,21141],{"class":3753,"line":4471},[3751,21131,4438],{"class":3805},[3751,21133,6119],{"class":3757},[3751,21135,21136],{"class":3765}," mockPlaces",[3751,21138,4806],{"class":3761},[3751,21140,12273],{"class":3829},[3751,21142,6130],{"class":3761},[3751,21144,21145],{"class":3753,"line":4481},[3751,21146,6135],{"class":3761},[3751,21148,21149,21151,21154],{"class":3753,"line":4491},[3751,21150,6140],{"class":3811},[3751,21152,21153],{"class":3784}," 'p1'",[3751,21155,6146],{"class":3761},[3751,21157,21158,21161,21163],{"class":3753,"line":4532},[3751,21159,21160],{"class":3811},"    tripId:",[3751,21162,20338],{"class":3784},[3751,21164,6146],{"class":3761},[3751,21166,21167,21169,21172],{"class":3753,"line":4566},[3751,21168,6151],{"class":3811},[3751,21170,21171],{"class":3784}," 'Говерла'",[3751,21173,6146],{"class":3761},[3751,21175,21176,21179,21181],{"class":3753,"line":4576},[3751,21177,21178],{"class":3811},"    city:",[3751,21180,20387],{"class":3784},[3751,21182,6146],{"class":3761},[3751,21184,21185,21188,21191],{"class":3753,"line":4586},[3751,21186,21187],{"class":3811},"    note:",[3751,21189,21190],{"class":3784}," 'Схід сонця з вершини'",[3751,21192,6146],{"class":3761},[3751,21194,21195],{"class":3753,"line":4596},[3751,21196,6198],{"class":3761},[3751,21198,21199],{"class":3753,"line":4602},[3751,21200,6135],{"class":3761},[3751,21202,21203,21205,21208],{"class":3753,"line":6159},[3751,21204,6140],{"class":3811},[3751,21206,21207],{"class":3784}," 'p2'",[3751,21209,6146],{"class":3761},[3751,21211,21212,21214,21216],{"class":3753,"line":6170},[3751,21213,21160],{"class":3811},[3751,21215,20338],{"class":3784},[3751,21217,6146],{"class":3761},[3751,21219,21220,21222,21225],{"class":3753,"line":6181},[3751,21221,6151],{"class":3811},[3751,21223,21224],{"class":3784}," 'Котедж біля полонини'",[3751,21226,6146],{"class":3761},[3751,21228,21229,21231,21233],{"class":3753,"line":6187},[3751,21230,21178],{"class":3811},[3751,21232,20387],{"class":3784},[3751,21234,6146],{"class":3761},[3751,21236,21237,21239,21242],{"class":3753,"line":6195},[3751,21238,21187],{"class":3811},[3751,21240,21241],{"class":3784}," 'Вечірній чай і камін'",[3751,21243,6146],{"class":3761},[3751,21245,21246],{"class":3753,"line":6201},[3751,21247,6198],{"class":3761},[3751,21249,21250],{"class":3753,"line":6206},[3751,21251,6135],{"class":3761},[3751,21253,21254,21256,21259],{"class":3753,"line":6216},[3751,21255,6140],{"class":3811},[3751,21257,21258],{"class":3784}," 'p3'",[3751,21260,6146],{"class":3761},[3751,21262,21263,21265,21267],{"class":3753,"line":6226},[3751,21264,21160],{"class":3811},[3751,21266,20404],{"class":3784},[3751,21268,6146],{"class":3761},[3751,21270,21271,21273,21276],{"class":3753,"line":6236},[3751,21272,6151],{"class":3811},[3751,21274,21275],{"class":3784}," 'Площа Ринок'",[3751,21277,6146],{"class":3761},[3751,21279,21280,21282,21284],{"class":3753,"line":6246},[3751,21281,21178],{"class":3811},[3751,21283,6221],{"class":3784},[3751,21285,6146],{"class":3761},[3751,21287,21288,21290,21293],{"class":3753,"line":6251},[3751,21289,21187],{"class":3811},[3751,21291,21292],{"class":3784}," 'Ратуша й кав’ярні'",[3751,21294,6146],{"class":3761},[3751,21296,21297],{"class":3753,"line":6259},[3751,21298,6198],{"class":3761},[3751,21300,21301],{"class":3753,"line":6264},[3751,21302,6135],{"class":3761},[3751,21304,21305,21307,21310],{"class":3753,"line":6269},[3751,21306,6140],{"class":3811},[3751,21308,21309],{"class":3784}," 'p4'",[3751,21311,6146],{"class":3761},[3751,21313,21314,21316,21318],{"class":3753,"line":6279},[3751,21315,21160],{"class":3811},[3751,21317,20404],{"class":3784},[3751,21319,6146],{"class":3761},[3751,21321,21322,21324,21327],{"class":3753,"line":6289},[3751,21323,6151],{"class":3811},[3751,21325,21326],{"class":3784}," 'Високий Замок'",[3751,21328,6146],{"class":3761},[3751,21330,21331,21333,21335],{"class":3753,"line":6299},[3751,21332,21178],{"class":3811},[3751,21334,6221],{"class":3784},[3751,21336,6146],{"class":3761},[3751,21338,21339,21341,21344],{"class":3753,"line":6309},[3751,21340,21187],{"class":3811},[3751,21342,21343],{"class":3784}," 'Панорама міста'",[3751,21345,6146],{"class":3761},[3751,21347,21348],{"class":3753,"line":6314},[3751,21349,6198],{"class":3761},[3751,21351,21352],{"class":3753,"line":6322},[3751,21353,6135],{"class":3761},[3751,21355,21356,21358,21361],{"class":3753,"line":6327},[3751,21357,6140],{"class":3811},[3751,21359,21360],{"class":3784}," 'p5'",[3751,21362,6146],{"class":3761},[3751,21364,21365,21367,21369],{"class":3753,"line":6332},[3751,21366,21160],{"class":3811},[3751,21368,20468],{"class":3784},[3751,21370,6146],{"class":3761},[3751,21372,21373,21375,21378],{"class":3753,"line":6342},[3751,21374,6151],{"class":3811},[3751,21376,21377],{"class":3784}," 'Дерибасівська'",[3751,21379,6146],{"class":3761},[3751,21381,21382,21384,21386],{"class":3753,"line":6352},[3751,21383,21178],{"class":3811},[3751,21385,6284],{"class":3784},[3751,21387,6146],{"class":3761},[3751,21389,21390,21392,21395],{"class":3753,"line":6362},[3751,21391,21187],{"class":3811},[3751,21393,21394],{"class":3784}," 'Прогулянка ввечері'",[3751,21396,6146],{"class":3761},[3751,21398,21399],{"class":3753,"line":6372},[3751,21400,6198],{"class":3761},[3751,21402,21403],{"class":3753,"line":6377},[3751,21404,6135],{"class":3761},[3751,21406,21407,21409,21412],{"class":3753,"line":6385},[3751,21408,6140],{"class":3811},[3751,21410,21411],{"class":3784}," 'p6'",[3751,21413,6146],{"class":3761},[3751,21415,21416,21418,21420],{"class":3753,"line":6390},[3751,21417,21160],{"class":3811},[3751,21419,20468],{"class":3784},[3751,21421,6146],{"class":3761},[3751,21423,21424,21426,21429],{"class":3753,"line":6395},[3751,21425,6151],{"class":3811},[3751,21427,21428],{"class":3784}," 'Ланжерон'",[3751,21430,6146],{"class":3761},[3751,21432,21433,21435,21437],{"class":3753,"line":6405},[3751,21434,21178],{"class":3811},[3751,21436,6284],{"class":3784},[3751,21438,6146],{"class":3761},[3751,21440,21441,21443,21446],{"class":3753,"line":6415},[3751,21442,21187],{"class":3811},[3751,21444,21445],{"class":3784}," 'Пляж і набережна'",[3751,21447,6146],{"class":3761},[3751,21449,21450],{"class":3753,"line":6425},[3751,21451,6198],{"class":3761},[3751,21453,21454],{"class":3753,"line":6435},[3751,21455,6135],{"class":3761},[3751,21457,21458,21460,21463],{"class":3753,"line":6440},[3751,21459,6140],{"class":3811},[3751,21461,21462],{"class":3784}," 'p7'",[3751,21464,6146],{"class":3761},[3751,21466,21467,21469,21471],{"class":3753,"line":6448},[3751,21468,21160],{"class":3811},[3751,21470,20532],{"class":3784},[3751,21472,6146],{"class":3761},[3751,21474,21475,21477,21480],{"class":3753,"line":6453},[3751,21476,6151],{"class":3811},[3751,21478,21479],{"class":3784}," 'Андріївський узвіз'",[3751,21481,6146],{"class":3761},[3751,21483,21484,21486,21488],{"class":3753,"line":6459},[3751,21485,21178],{"class":3811},[3751,21487,6154],{"class":3784},[3751,21489,6146],{"class":3761},[3751,21491,21492,21494,21497],{"class":3753,"line":6464},[3751,21493,21187],{"class":3811},[3751,21495,21496],{"class":3784}," 'Галереї й бруківка'",[3751,21498,6146],{"class":3761},[3751,21500,21501],{"class":3753,"line":6496},[3751,21502,6198],{"class":3761},[3751,21504,21505],{"class":3753,"line":6531},[3751,21506,6135],{"class":3761},[3751,21508,21509,21511,21514],{"class":3753,"line":8184},[3751,21510,6140],{"class":3811},[3751,21512,21513],{"class":3784}," 'p8'",[3751,21515,6146],{"class":3761},[3751,21517,21518,21520,21522],{"class":3753,"line":8192},[3751,21519,21160],{"class":3811},[3751,21521,20659],{"class":3784},[3751,21523,6146],{"class":3761},[3751,21525,21526,21528,21531],{"class":3753,"line":8202},[3751,21527,6151],{"class":3811},[3751,21529,21530],{"class":3784}," 'Стара фортеця'",[3751,21532,6146],{"class":3761},[3751,21534,21535,21537,21540],{"class":3753,"line":8212},[3751,21536,21178],{"class":3811},[3751,21538,21539],{"class":3784}," 'Кам’янець'",[3751,21541,6146],{"class":3761},[3751,21543,21544,21546,21549],{"class":3753,"line":8222},[3751,21545,21187],{"class":3811},[3751,21547,21548],{"class":3784}," 'Фото з мосту'",[3751,21550,6146],{"class":3761},[3751,21552,21553],{"class":3753,"line":8232},[3751,21554,6198],{"class":3761},[3751,21556,21557],{"class":3753,"line":8237},[3751,21558,6135],{"class":3761},[3751,21560,21561,21563,21566],{"class":3753,"line":12660},[3751,21562,6140],{"class":3811},[3751,21564,21565],{"class":3784}," 'p9'",[3751,21567,6146],{"class":3761},[3751,21569,21570,21572,21574],{"class":3753,"line":12671},[3751,21571,21160],{"class":3811},[3751,21573,20849],{"class":3784},[3751,21575,6146],{"class":3761},[3751,21577,21578,21580,21583],{"class":3753,"line":12713},[3751,21579,6151],{"class":3811},[3751,21581,21582],{"class":3784}," 'Ужгородський замок'",[3751,21584,6146],{"class":3761},[3751,21586,21587,21589,21592],{"class":3753,"line":12735},[3751,21588,21178],{"class":3811},[3751,21590,21591],{"class":3784}," 'Ужгород'",[3751,21593,6146],{"class":3761},[3751,21595,21596,21598,21601],{"class":3753,"line":12765},[3751,21597,21187],{"class":3811},[3751,21599,21600],{"class":3784}," 'Музей і сад'",[3751,21602,6146],{"class":3761},[3751,21604,21605],{"class":3753,"line":12799},[3751,21606,6198],{"class":3761},[3751,21608,21609],{"class":3753,"line":12806},[3751,21610,6135],{"class":3761},[3751,21612,21613,21615,21618],{"class":3753,"line":12812},[3751,21614,6140],{"class":3811},[3751,21616,21617],{"class":3784}," 'p10'",[3751,21619,6146],{"class":3761},[3751,21621,21622,21624,21626],{"class":3753,"line":12826},[3751,21623,21160],{"class":3811},[3751,21625,21038],{"class":3784},[3751,21627,6146],{"class":3761},[3751,21629,21630,21632,21635],{"class":3753,"line":12852},[3751,21631,6151],{"class":3811},[3751,21633,21634],{"class":3784}," 'Водоспад Пробій'",[3751,21636,6146],{"class":3761},[3751,21638,21639,21641,21644],{"class":3753,"line":12872},[3751,21640,21178],{"class":3811},[3751,21642,21643],{"class":3784}," 'Яремче'",[3751,21645,6146],{"class":3761},[3751,21647,21648,21650,21653],{"class":3753,"line":12904},[3751,21649,21187],{"class":3811},[3751,21651,21652],{"class":3784}," 'Шум води й місток'",[3751,21654,6146],{"class":3761},[3751,21656,21657],{"class":3753,"line":12912},[3751,21658,6198],{"class":3761},[3751,21660,21661],{"class":3753,"line":12923},[3751,21662,6456],{"class":3761},[3742,21664,21667],{"className":3744,"code":21665,"filename":21666,"language":3746,"meta":3747,"style":3747},"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",[3521,21668,21669,21685,21691,21698,21705,21712,21718,21725,21731,21741,21764,21782,21800,21815,21829,21833,21839,21845,21853,21864,21881,21904,21921,21938,21954,21979,21983,21992,22013,22027,22031,22035,22048,22065,22094,22102,22106,22110,22141,22159,22183,22191,22195,22199,22203,22208,22213,22217,22228,22234,22240,22250,22273,22297,22301,22307,22314,22321,22328,22340,22355,22370,22377,22387,22396,22405,22414,22433,22442,22452,22461,22466,22485,22489,22499,22509,22513,22517,22536,22554,22558,22580,22591,22604,22629,22642,22654,22666,22691,22721,22734,22747,22760,22765,22776,22786,22791,22795,22801,22808,22825,22859,22888,22892,22898,22914,22924,22935,22970,22976,22986,22996,23004,23008,23036,23041,23046,23051,23059,23063,23073,23080,23094,23103,23137,23144,23154,23164,23177,23190,23203,23226,23236,23246,23259,23263,23270,23274,23278,23287,23293,23305,23314,23340,23347,23356,23366,23386,23391,23400,23406,23416,23427,23431,23443,23455,23468,23480,23494,23498,23504,23508,23515,23528,23541,23558,23580,23584,23604,23612,23625,23638,23651,23668,23673,23680,23688,23696,23701,23705,23711,23715,23719,23728,23734,23746,23755,23785,23792,23801,23813,23826,23838,23858,23862,23868,23872,23876,23882,23894,23903,23933,23939,23948,23960,23972,23984,24004,24017,24021,24027,24031,24035,24044,24050,24062,24071,24101,24107,24116,24125,24137,24149,24161,24181,24186,24200,24210,24227,24239,24249,24253,24259,24263,24267,24276,24282,24294,24303,24329,24335,24369,24378,24398,24402,24410,24417,24430,24443,24456,24469,24482,24499,24516,24533,24538,24543,24548,24555,24560,24589,24606,24629,24635,24644,24649,24659,24666,24679,24689,24716,24723,24733,24743,24764,24773,24781,24794,24807,24819,24833,24847,24855,24873,24891,24896,24901,24906,24913,24918,24923,24933,24940,24953,24963,24990,24997,25007,25017,25038,25047,25055,25068,25081,25093,25106,25119,25126,25144,25162,25180,25191,25196,25201,25206,25213,25218,25223,25233,25240,25253,25263,25290,25297,25307,25317,25339,25348,25355,25375,25388,25399,25412,25425,25432,25449,25466,25483,25492,25497,25502,25507,25514,25519,25524,25534,25573,25580,25604,25626,25640,25645,25657,25664,25674,25685,25699,25713,25718,25728,25737,25746,25756,25761,25766,25771,25794,25824,25843,25876,25899,25931,25940,25945,25950,25967,25975,25984,25989,25997,26007,26012,26020,26031,26036,26044,26053,26064,26069],{"__ignoreMap":3747},[3751,21670,21671,21673,21675,21677,21679,21681,21683],{"class":3753,"line":3754},[3751,21672,5173],{"class":3805},[3751,21674,5176],{"class":3761},[3751,21676,3778],{"class":3811},[3751,21678,5181],{"class":3761},[3751,21680,5184],{"class":3805},[3751,21682,11874],{"class":3784},[3751,21684,3867],{"class":3761},[3751,21686,21687,21689],{"class":3753,"line":3802},[3751,21688,5173],{"class":3805},[3751,21690,6493],{"class":3761},[3751,21692,21693,21696],{"class":3753,"line":3870},[3751,21694,21695],{"class":3811},"  KeyboardAvoidingView",[3751,21697,6146],{"class":3761},[3751,21699,21700,21703],{"class":3753,"line":4471},[3751,21701,21702],{"class":3811},"  Platform",[3751,21704,6146],{"class":3761},[3751,21706,21707,21710],{"class":3753,"line":4481},[3751,21708,21709],{"class":3811},"  ScrollView",[3751,21711,6146],{"class":3761},[3751,21713,21714,21716],{"class":3753,"line":4491},[3751,21715,11908],{"class":3811},[3751,21717,6146],{"class":3761},[3751,21719,21720,21723],{"class":3753,"line":4532},[3751,21721,21722],{"class":3811},"  Switch",[3751,21724,6146],{"class":3761},[3751,21726,21727,21729],{"class":3753,"line":4566},[3751,21728,11915],{"class":3811},[3751,21730,6146],{"class":3761},[3751,21732,21733,21735,21737,21739],{"class":3753,"line":4576},[3751,21734,11922],{"class":3761},[3751,21736,5184],{"class":3805},[3751,21738,5205],{"class":3784},[3751,21740,3867],{"class":3761},[3751,21742,21743,21745,21747,21750,21752,21755,21757,21759,21762],{"class":3753,"line":4586},[3751,21744,5173],{"class":3805},[3751,21746,5176],{"class":3761},[3751,21748,21749],{"class":3811},"Controller",[3751,21751,3640],{"class":3761},[3751,21753,21754],{"class":3811},"useForm",[3751,21756,5181],{"class":3761},[3751,21758,5184],{"class":3805},[3751,21760,21761],{"class":3784}," 'react-hook-form'",[3751,21763,3867],{"class":3761},[3751,21765,21766,21768,21770,21773,21775,21777,21780],{"class":3753,"line":4596},[3751,21767,5173],{"class":3805},[3751,21769,5176],{"class":3761},[3751,21771,21772],{"class":3811},"zodResolver",[3751,21774,5181],{"class":3761},[3751,21776,5184],{"class":3805},[3751,21778,21779],{"class":3784}," '@hookform\u002Fresolvers\u002Fzod'",[3751,21781,3867],{"class":3761},[3751,21783,21784,21786,21788,21791,21793,21795,21798],{"class":3753,"line":4602},[3751,21785,5173],{"class":3805},[3751,21787,5176],{"class":3761},[3751,21789,21790],{"class":3811},"Picker",[3751,21792,5181],{"class":3761},[3751,21794,5184],{"class":3805},[3751,21796,21797],{"class":3784}," '@react-native-picker\u002Fpicker'",[3751,21799,3867],{"class":3761},[3751,21801,21802,21804,21807,21810,21813],{"class":3753,"line":6159},[3751,21803,5173],{"class":3805},[3751,21805,21806],{"class":3811}," Checkbox",[3751,21808,21809],{"class":3805}," from",[3751,21811,21812],{"class":3784}," '@react-native-community\u002Fcheckbox'",[3751,21814,3867],{"class":3761},[3751,21816,21817,21819,21822,21824,21827],{"class":3753,"line":6170},[3751,21818,5173],{"class":3805},[3751,21820,21821],{"class":3811}," Slider",[3751,21823,21809],{"class":3805},[3751,21825,21826],{"class":3784}," '@react-native-community\u002Fslider'",[3751,21828,3867],{"class":3761},[3751,21830,21831],{"class":3753,"line":6181},[3751,21832,5213],{"emptyLinePlaceholder":5212},[3751,21834,21835,21837],{"class":3753,"line":6187},[3751,21836,5173],{"class":3805},[3751,21838,6493],{"class":3761},[3751,21840,21841,21843],{"class":3753,"line":6195},[3751,21842,18157],{"class":3811},[3751,21844,6146],{"class":3761},[3751,21846,21847,21849,21851],{"class":3753,"line":6201},[3751,21848,12005],{"class":3805},[3751,21850,18166],{"class":3811},[3751,21852,6146],{"class":3761},[3751,21854,21855,21857,21859,21862],{"class":3753,"line":6206},[3751,21856,11922],{"class":3761},[3751,21858,5184],{"class":3805},[3751,21860,21861],{"class":3784}," '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FcreateTripSchema'",[3751,21863,3867],{"class":3761},[3751,21865,21866,21868,21870,21872,21874,21876,21879],{"class":3753,"line":6216},[3751,21867,5173],{"class":3805},[3751,21869,5176],{"class":3761},[3751,21871,18188],{"class":3811},[3751,21873,5181],{"class":3761},[3751,21875,5184],{"class":3805},[3751,21877,21878],{"class":3784}," '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FformatTripDates'",[3751,21880,3867],{"class":3761},[3751,21882,21883,21885,21887,21889,21891,21893,21895,21897,21899,21902],{"class":3753,"line":6226},[3751,21884,5173],{"class":3805},[3751,21886,5176],{"class":3761},[3751,21888,18030],{"class":3811},[3751,21890,3640],{"class":3761},[3751,21892,12042],{"class":3805},[3751,21894,12017],{"class":3811},[3751,21896,5181],{"class":3761},[3751,21898,5184],{"class":3805},[3751,21900,21901],{"class":3784}," '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes'",[3751,21903,3867],{"class":3761},[3751,21905,21906,21908,21910,21912,21914,21916,21919],{"class":3753,"line":6236},[3751,21907,5173],{"class":3805},[3751,21909,5176],{"class":3761},[3751,21911,18098],{"class":3811},[3751,21913,5181],{"class":3761},[3751,21915,5184],{"class":3805},[3751,21917,21918],{"class":3784}," '@\u002Ffeatures\u002Ftrips\u002Fui\u002FDateField'",[3751,21920,3867],{"class":3761},[3751,21922,21923,21925,21927,21929,21931,21933,21936],{"class":3753,"line":6246},[3751,21924,5173],{"class":3805},[3751,21926,5176],{"class":3761},[3751,21928,18116],{"class":3811},[3751,21930,5181],{"class":3761},[3751,21932,5184],{"class":3805},[3751,21934,21935],{"class":3784}," '@\u002Ffeatures\u002Ftrips\u002Fui\u002FFormRow'",[3751,21937,3867],{"class":3761},[3751,21939,21940,21942,21944,21946,21948,21950,21952],{"class":3753,"line":6251},[3751,21941,5173],{"class":3805},[3751,21943,5176],{"class":3761},[3751,21945,10882],{"class":3811},[3751,21947,5181],{"class":3761},[3751,21949,5184],{"class":3805},[3751,21951,10889],{"class":3784},[3751,21953,3867],{"class":3761},[3751,21955,21956,21958,21960,21962,21964,21966,21968,21971,21973,21975,21977],{"class":3753,"line":6259},[3751,21957,5173],{"class":3805},[3751,21959,5176],{"class":3761},[3751,21961,12062],{"class":3811},[3751,21963,3640],{"class":3761},[3751,21965,12067],{"class":3811},[3751,21967,3640],{"class":3761},[3751,21969,21970],{"class":3811},"TextField",[3751,21972,5181],{"class":3761},[3751,21974,5184],{"class":3805},[3751,21976,12078],{"class":3784},[3751,21978,3867],{"class":3761},[3751,21980,21981],{"class":3753,"line":6264},[3751,21982,5213],{"emptyLinePlaceholder":5212},[3751,21984,21985,21987,21990],{"class":3753,"line":6269},[3751,21986,12042],{"class":3757},[3751,21988,21989],{"class":3829}," CreateTripFormProps",[3751,21991,6047],{"class":3761},[3751,21993,21994,21997,21999,22001,22003,22005,22007,22009,22011],{"class":3753,"line":6279},[3751,21995,21996],{"class":3777},"  onSubmitSuccess",[3751,21998,19821],{"class":3761},[3751,22000,12325],{"class":3811},[3751,22002,4806],{"class":3761},[3751,22004,12330],{"class":3829},[3751,22006,3819],{"class":3761},[3751,22008,3847],{"class":3757},[3751,22010,19834],{"class":3829},[3751,22012,3867],{"class":3761},[3751,22014,22015,22018,22021,22023,22025],{"class":3753,"line":6289},[3751,22016,22017],{"class":3777},"  onCancel",[3751,22019,22020],{"class":3761},"?: () ",[3751,22022,3847],{"class":3757},[3751,22024,19834],{"class":3829},[3751,22026,3867],{"class":3761},[3751,22028,22029],{"class":3753,"line":6299},[3751,22030,6108],{"class":3761},[3751,22032,22033],{"class":3753,"line":6309},[3751,22034,5213],{"emptyLinePlaceholder":5212},[3751,22036,22037,22039,22042,22044,22046],{"class":3753,"line":6314},[3751,22038,10920],{"class":3757},[3751,22040,22041],{"class":3777}," startOfToday",[3751,22043,20198],{"class":3761},[3751,22045,19219],{"class":3829},[3751,22047,6493],{"class":3761},[3751,22049,22050,22052,22055,22057,22060,22063],{"class":3753,"line":6322},[3751,22051,8859],{"class":3757},[3751,22053,22054],{"class":3765}," d",[3751,22056,5457],{"class":3761},[3751,22058,22059],{"class":3757},"new",[3751,22061,22062],{"class":3777}," Date",[3751,22064,5462],{"class":3761},[3751,22066,22067,22070,22072,22075,22077,22080,22082,22084,22086,22088,22090,22092],{"class":3753,"line":6327},[3751,22068,22069],{"class":3811},"  d",[3751,22071,3601],{"class":3761},[3751,22073,22074],{"class":3777},"setHours",[3751,22076,3853],{"class":3761},[3751,22078,22079],{"class":7005},"12",[3751,22081,3640],{"class":3761},[3751,22083,8911],{"class":7005},[3751,22085,3640],{"class":3761},[3751,22087,8911],{"class":7005},[3751,22089,3640],{"class":3761},[3751,22091,8911],{"class":7005},[3751,22093,3799],{"class":3761},[3751,22095,22096,22098,22100],{"class":3753,"line":6332},[3751,22097,4455],{"class":3805},[3751,22099,22054],{"class":3811},[3751,22101,3867],{"class":3761},[3751,22103,22104],{"class":3753,"line":6342},[3751,22105,4605],{"class":3761},[3751,22107,22108],{"class":3753,"line":6352},[3751,22109,5213],{"emptyLinePlaceholder":5212},[3751,22111,22112,22114,22117,22119,22122,22124,22126,22128,22131,22133,22135,22137,22139],{"class":3753,"line":6362},[3751,22113,10920],{"class":3757},[3751,22115,22116],{"class":3777}," addDays",[3751,22118,3853],{"class":3761},[3751,22120,22121],{"class":3811},"base",[3751,22123,4806],{"class":3761},[3751,22125,19219],{"class":3829},[3751,22127,3640],{"class":3761},[3751,22129,22130],{"class":3811},"days",[3751,22132,4806],{"class":3761},[3751,22134,18313],{"class":3829},[3751,22136,6483],{"class":3761},[3751,22138,19219],{"class":3829},[3751,22140,6493],{"class":3761},[3751,22142,22143,22145,22147,22149,22151,22153,22155,22157],{"class":3753,"line":6372},[3751,22144,8859],{"class":3757},[3751,22146,22054],{"class":3765},[3751,22148,5457],{"class":3761},[3751,22150,22059],{"class":3757},[3751,22152,22062],{"class":3777},[3751,22154,3853],{"class":3761},[3751,22156,22121],{"class":3811},[3751,22158,3799],{"class":3761},[3751,22160,22161,22163,22165,22168,22170,22172,22174,22176,22179,22181],{"class":3753,"line":6377},[3751,22162,22069],{"class":3811},[3751,22164,3601],{"class":3761},[3751,22166,22167],{"class":3777},"setDate",[3751,22169,3853],{"class":3761},[3751,22171,19214],{"class":3811},[3751,22173,3601],{"class":3761},[3751,22175,19240],{"class":3777},[3751,22177,22178],{"class":3761},"() + ",[3751,22180,22130],{"class":3811},[3751,22182,3799],{"class":3761},[3751,22184,22185,22187,22189],{"class":3753,"line":6385},[3751,22186,4455],{"class":3805},[3751,22188,22054],{"class":3811},[3751,22190,3867],{"class":3761},[3751,22192,22193],{"class":3753,"line":6390},[3751,22194,4605],{"class":3761},[3751,22196,22197],{"class":3753,"line":6395},[3751,22198,5213],{"emptyLinePlaceholder":5212},[3751,22200,22201],{"class":3753,"line":6405},[3751,22202,10900],{"class":5471},[3751,22204,22205],{"class":3753,"line":6415},[3751,22206,22207],{"class":5471}," * Форма «Нова поїздка»: усі основні form-контроли + RHF + Zod.\n",[3751,22209,22210],{"class":3753,"line":6425},[3751,22211,22212],{"class":5471}," * Не залежить від навігації — батько вирішує, куди піти після submit.\n",[3751,22214,22215],{"class":3753,"line":6435},[3751,22216,10915],{"class":5471},[3751,22218,22219,22221,22223,22226],{"class":3753,"line":6440},[3751,22220,4438],{"class":3805},[3751,22222,4444],{"class":3757},[3751,22224,22225],{"class":3777}," CreateTripForm",[3751,22227,7915],{"class":3761},[3751,22229,22230,22232],{"class":3753,"line":6448},[3751,22231,21996],{"class":3811},[3751,22233,6146],{"class":3761},[3751,22235,22236,22238],{"class":3753,"line":6453},[3751,22237,22017],{"class":3811},[3751,22239,6146],{"class":3761},[3751,22241,22242,22245,22248],{"class":3753,"line":6459},[3751,22243,22244],{"class":3761},"}: ",[3751,22246,22247],{"class":3829},"CreateTripFormProps",[3751,22249,8964],{"class":3761},[3751,22251,22252,22254,22256,22258,22260,22262,22264,22267,22269,22271],{"class":3753,"line":6464},[3751,22253,8859],{"class":3757},[3751,22255,5176],{"class":3761},[3751,22257,10934],{"class":3765},[3751,22259,3640],{"class":3761},[3751,22261,12236],{"class":3765},[3751,22263,3640],{"class":3761},[3751,22265,22266],{"class":3765},"radius",[3751,22268,8866],{"class":3761},[3751,22270,10882],{"class":3777},[3751,22272,5462],{"class":3761},[3751,22274,22275,22277,22279,22282,22284,22287,22289,22291,22293,22295],{"class":3753,"line":6496},[3751,22276,8859],{"class":3757},[3751,22278,3762],{"class":3761},[3751,22280,22281],{"class":3765},"submitting",[3751,22283,3640],{"class":3761},[3751,22285,22286],{"class":3765},"setSubmitting",[3751,22288,3774],{"class":3761},[3751,22290,3778],{"class":3777},[3751,22292,3853],{"class":3761},[3751,22294,4844],{"class":3757},[3751,22296,3799],{"class":3761},[3751,22298,22299],{"class":3753,"line":6531},[3751,22300,5213],{"emptyLinePlaceholder":5212},[3751,22302,22303,22305],{"class":3753,"line":8184},[3751,22304,8859],{"class":3757},[3751,22306,6493],{"class":3761},[3751,22308,22309,22312],{"class":3753,"line":8192},[3751,22310,22311],{"class":3765},"    control",[3751,22313,6146],{"class":3761},[3751,22315,22316,22319],{"class":3753,"line":8202},[3751,22317,22318],{"class":3765},"    handleSubmit",[3751,22320,6146],{"class":3761},[3751,22322,22323,22326],{"class":3753,"line":8212},[3751,22324,22325],{"class":3765},"    watch",[3751,22327,6146],{"class":3761},[3751,22329,22330,22333,22335,22338],{"class":3753,"line":8222},[3751,22331,22332],{"class":3811},"    formState",[3751,22334,12094],{"class":3761},[3751,22336,22337],{"class":3765},"errors",[3751,22339,6665],{"class":3761},[3751,22341,22342,22345,22347,22349,22352],{"class":3753,"line":8232},[3751,22343,22344],{"class":3761},"  } = ",[3751,22346,21754],{"class":3777},[3751,22348,3781],{"class":3761},[3751,22350,22351],{"class":3829},"CreateTripFormValues",[3751,22353,22354],{"class":3761},">({\n",[3751,22356,22357,22360,22363,22365,22368],{"class":3753,"line":8237},[3751,22358,22359],{"class":3811},"    resolver:",[3751,22361,22362],{"class":3777}," zodResolver",[3751,22364,3853],{"class":3761},[3751,22366,22367],{"class":3811},"createTripSchema",[3751,22369,18701],{"class":3761},[3751,22371,22372,22375],{"class":3753,"line":12660},[3751,22373,22374],{"class":3811},"    defaultValues:",[3751,22376,6493],{"class":3761},[3751,22378,22379,22382,22385],{"class":3753,"line":12671},[3751,22380,22381],{"class":3811},"      title:",[3751,22383,22384],{"class":3784}," ''",[3751,22386,6146],{"class":3761},[3751,22388,22389,22392,22394],{"class":3753,"line":12713},[3751,22390,22391],{"class":3811},"      region:",[3751,22393,20387],{"class":3784},[3751,22395,6146],{"class":3761},[3751,22397,22398,22401,22403],{"class":3753,"line":12735},[3751,22399,22400],{"class":3811},"      description:",[3751,22402,22384],{"class":3784},[3751,22404,6146],{"class":3761},[3751,22406,22407,22410,22412],{"class":3753,"line":12765},[3751,22408,22409],{"class":3811},"      startDate:",[3751,22411,22041],{"class":3777},[3751,22413,18856],{"class":3761},[3751,22415,22416,22419,22421,22423,22426,22429,22431],{"class":3753,"line":12799},[3751,22417,22418],{"class":3811},"      endDate:",[3751,22420,22116],{"class":3777},[3751,22422,3853],{"class":3761},[3751,22424,22425],{"class":3777},"startOfToday",[3751,22427,22428],{"class":3761},"(), ",[3751,22430,15547],{"class":7005},[3751,22432,18701],{"class":3761},[3751,22434,22435,22438,22440],{"class":3753,"line":12806},[3751,22436,22437],{"class":3811},"      isPrivate:",[3751,22439,4521],{"class":3757},[3751,22441,6146],{"class":3761},[3751,22443,22444,22447,22450],{"class":3753,"line":12812},[3751,22445,22446],{"class":3811},"      plannedDays:",[3751,22448,22449],{"class":7005}," 3",[3751,22451,6146],{"class":3761},[3751,22453,22454,22457,22459],{"class":3753,"line":12826},[3751,22455,22456],{"class":3811},"      hasItinerary:",[3751,22458,4521],{"class":3757},[3751,22460,6146],{"class":3761},[3751,22462,22463],{"class":3753,"line":12852},[3751,22464,22465],{"class":5471},"      \u002F\u002F literal true — у default false, щоб користувач свідомо поставив галочку\n",[3751,22467,22468,22471,22473,22476,22479,22481,22483],{"class":3753,"line":12872},[3751,22469,22470],{"class":3811},"      acceptedLocalSave:",[3751,22472,4521],{"class":3757},[3751,22474,22475],{"class":3805}," as",[3751,22477,22478],{"class":3829}," unknown",[3751,22480,22475],{"class":3805},[3751,22482,11161],{"class":3829},[3751,22484,6146],{"class":3761},[3751,22486,22487],{"class":3753,"line":12904},[3751,22488,10554],{"class":3761},[3751,22490,22491,22494,22497],{"class":3753,"line":12912},[3751,22492,22493],{"class":3811},"    mode:",[3751,22495,22496],{"class":3784}," 'onSubmit'",[3751,22498,6146],{"class":3761},[3751,22500,22501,22504,22507],{"class":3753,"line":12923},[3751,22502,22503],{"class":3811},"    reValidateMode:",[3751,22505,22506],{"class":3784}," 'onChange'",[3751,22508,6146],{"class":3761},[3751,22510,22511],{"class":3753,"line":12966},[3751,22512,19059],{"class":3761},[3751,22514,22515],{"class":3753,"line":12988},[3751,22516,5213],{"emptyLinePlaceholder":5212},[3751,22518,22519,22521,22524,22526,22529,22531,22534],{"class":3753,"line":12994},[3751,22520,8859],{"class":3757},[3751,22522,22523],{"class":3765}," startDate",[3751,22525,5457],{"class":3761},[3751,22527,22528],{"class":3777},"watch",[3751,22530,3853],{"class":3761},[3751,22532,22533],{"class":3784},"'startDate'",[3751,22535,3799],{"class":3761},[3751,22537,22538,22540,22543,22545,22547,22549,22552],{"class":3753,"line":13003},[3751,22539,8859],{"class":3757},[3751,22541,22542],{"class":3765}," plannedDays",[3751,22544,5457],{"class":3761},[3751,22546,22528],{"class":3777},[3751,22548,3853],{"class":3761},[3751,22550,22551],{"class":3784},"'plannedDays'",[3751,22553,3799],{"class":3761},[3751,22555,22556],{"class":3753,"line":13014},[3751,22557,5213],{"emptyLinePlaceholder":5212},[3751,22559,22560,22562,22565,22567,22570,22572,22574,22576,22578],{"class":3753,"line":13019},[3751,22561,8859],{"class":3757},[3751,22563,22564],{"class":3777}," onValid",[3751,22566,18497],{"class":3761},[3751,22568,22569],{"class":3811},"values",[3751,22571,4806],{"class":3761},[3751,22573,22351],{"class":3829},[3751,22575,3819],{"class":3761},[3751,22577,3847],{"class":3757},[3751,22579,6493],{"class":3761},[3751,22581,22582,22585,22587,22589],{"class":3753,"line":13053},[3751,22583,22584],{"class":3777},"    setSubmitting",[3751,22586,3853],{"class":3761},[3751,22588,4848],{"class":3757},[3751,22590,3799],{"class":3761},[3751,22592,22593,22596,22598,22600,22602],{"class":3753,"line":13062},[3751,22594,22595],{"class":3757},"    const",[3751,22597,12576],{"class":3765},[3751,22599,4806],{"class":3761},[3751,22601,12330],{"class":3829},[3751,22603,6047],{"class":3761},[3751,22605,22606,22609,22612,22614,22616,22618,22621,22623,22625,22627],{"class":3753,"line":13067},[3751,22607,22608],{"class":3811},"      id:",[3751,22610,22611],{"class":3784}," `local-",[3751,22613,7696],{"class":3757},[3751,22615,19219],{"class":3811},[3751,22617,3601],{"class":3843},[3751,22619,22620],{"class":3777},"now",[3751,22622,4167],{"class":3843},[3751,22624,3861],{"class":3757},[3751,22626,7707],{"class":3784},[3751,22628,6146],{"class":3761},[3751,22630,22631,22633,22636,22638,22640],{"class":3753,"line":13072},[3751,22632,22381],{"class":3811},[3751,22634,22635],{"class":3811}," values",[3751,22637,3601],{"class":3761},[3751,22639,4809],{"class":3811},[3751,22641,6146],{"class":3761},[3751,22643,22644,22646,22648,22650,22652],{"class":3753,"line":13082},[3751,22645,22391],{"class":3811},[3751,22647,22635],{"class":3811},[3751,22649,3601],{"class":3761},[3751,22651,7807],{"class":3811},[3751,22653,6146],{"class":3761},[3751,22655,22656,22658,22660,22662,22664],{"class":3753,"line":13090},[3751,22657,22400],{"class":3811},[3751,22659,22635],{"class":3811},[3751,22661,3601],{"class":3761},[3751,22663,9322],{"class":3811},[3751,22665,6146],{"class":3761},[3751,22667,22668,22671,22673,22675,22677,22679,22681,22683,22685,22687,22689],{"class":3753,"line":13103},[3751,22669,22670],{"class":3811},"      dateLabel:",[3751,22672,19303],{"class":3777},[3751,22674,3853],{"class":3761},[3751,22676,22569],{"class":3811},[3751,22678,3601],{"class":3761},[3751,22680,19025],{"class":3811},[3751,22682,3640],{"class":3761},[3751,22684,22569],{"class":3811},[3751,22686,3601],{"class":3761},[3751,22688,19010],{"class":3811},[3751,22690,18701],{"class":3761},[3751,22692,22693,22696,22699,22701,22704,22706,22708,22710,22712,22714,22716,22719],{"class":3753,"line":13116},[3751,22694,22695],{"class":3811},"      coverUri:",[3751,22697,22698],{"class":3784}," `https:\u002F\u002Fpicsum.photos\u002Fseed\u002F",[3751,22700,7696],{"class":3757},[3751,22702,22703],{"class":3777},"encodeURIComponent",[3751,22705,3853],{"class":3843},[3751,22707,22569],{"class":3811},[3751,22709,3601],{"class":3843},[3751,22711,4809],{"class":3811},[3751,22713,3858],{"class":3843},[3751,22715,3861],{"class":3757},[3751,22717,22718],{"class":3784},"\u002F800\u002F400`",[3751,22720,6146],{"class":3761},[3751,22722,22723,22725,22727,22729,22732],{"class":3753,"line":13122},[3751,22724,22437],{"class":3811},[3751,22726,22635],{"class":3811},[3751,22728,3601],{"class":3761},[3751,22730,22731],{"class":3811},"isPrivate",[3751,22733,6146],{"class":3761},[3751,22735,22736,22738,22740,22742,22745],{"class":3753,"line":13136},[3751,22737,22446],{"class":3811},[3751,22739,22635],{"class":3811},[3751,22741,3601],{"class":3761},[3751,22743,22744],{"class":3811},"plannedDays",[3751,22746,6146],{"class":3761},[3751,22748,22749,22751,22753,22755,22758],{"class":3753,"line":13151},[3751,22750,22456],{"class":3811},[3751,22752,22635],{"class":3811},[3751,22754,3601],{"class":3761},[3751,22756,22757],{"class":3811},"hasItinerary",[3751,22759,6146],{"class":3761},[3751,22761,22762],{"class":3753,"line":13165},[3751,22763,22764],{"class":3761},"    };\n",[3751,22766,22767,22770,22772,22774],{"class":3753,"line":13170},[3751,22768,22769],{"class":3777},"    onSubmitSuccess",[3751,22771,3853],{"class":3761},[3751,22773,12325],{"class":3811},[3751,22775,3799],{"class":3761},[3751,22777,22778,22780,22782,22784],{"class":3753,"line":13178},[3751,22779,22584],{"class":3777},[3751,22781,3853],{"class":3761},[3751,22783,4844],{"class":3757},[3751,22785,3799],{"class":3761},[3751,22787,22788],{"class":3753,"line":13183},[3751,22789,22790],{"class":3761},"  };\n",[3751,22792,22793],{"class":3753,"line":13215},[3751,22794,5213],{"emptyLinePlaceholder":5212},[3751,22796,22797,22799],{"class":3753,"line":13221},[3751,22798,4455],{"class":3805},[3751,22800,4458],{"class":3761},[3751,22802,22803,22805],{"class":3753,"line":13230},[3751,22804,4463],{"class":3825},[3751,22806,22807],{"class":3829},"KeyboardAvoidingView\n",[3751,22809,22810,22812,22814,22816,22818,22820,22823],{"class":3753,"line":13238},[3751,22811,13093],{"class":3833},[3751,22813,3837],{"class":3761},[3751,22815,3840],{"class":3757},[3751,22817,5308],{"class":3811},[3751,22819,3601],{"class":3843},[3751,22821,22822],{"class":3811},"flex",[3751,22824,4605],{"class":3757},[3751,22826,22827,22830,22832,22834,22837,22839,22842,22844,22847,22849,22852,22854,22857],{"class":3753,"line":13249},[3751,22828,22829],{"class":3833},"      behavior",[3751,22831,3837],{"class":3761},[3751,22833,3840],{"class":3757},[3751,22835,22836],{"class":3811},"Platform",[3751,22838,3601],{"class":3843},[3751,22840,22841],{"class":3765},"OS",[3751,22843,10976],{"class":3761},[3751,22845,22846],{"class":3784}," 'ios'",[3751,22848,10982],{"class":3761},[3751,22850,22851],{"class":3784}," 'padding'",[3751,22853,10988],{"class":3761},[3751,22855,22856],{"class":3784}," 'height'",[3751,22858,4605],{"class":3757},[3751,22860,22861,22864,22866,22868,22870,22872,22874,22876,22878,22880,22882,22884,22886],{"class":3753,"line":13267},[3751,22862,22863],{"class":3833},"      keyboardVerticalOffset",[3751,22865,3837],{"class":3761},[3751,22867,3840],{"class":3757},[3751,22869,22836],{"class":3811},[3751,22871,3601],{"class":3843},[3751,22873,22841],{"class":3765},[3751,22875,10976],{"class":3761},[3751,22877,22846],{"class":3784},[3751,22879,10982],{"class":3761},[3751,22881,7961],{"class":7005},[3751,22883,10988],{"class":3761},[3751,22885,12728],{"class":7005},[3751,22887,4605],{"class":3757},[3751,22889,22890],{"class":3753,"line":13286},[3751,22891,7026],{"class":3825},[3751,22893,22894,22896],{"class":3753,"line":13291},[3751,22895,4474],{"class":3825},[3751,22897,16293],{"class":3829},[3751,22899,22900,22902,22904,22906,22908,22910,22912],{"class":3753,"line":13297},[3751,22901,13270],{"class":3833},[3751,22903,3837],{"class":3761},[3751,22905,3840],{"class":3757},[3751,22907,5308],{"class":3811},[3751,22909,3601],{"class":3843},[3751,22911,22822],{"class":3811},[3751,22913,4605],{"class":3757},[3751,22915,22916,22918,22920,22922],{"class":3753,"line":13306},[3751,22917,7606],{"class":3833},[3751,22919,3837],{"class":3761},[3751,22921,3840],{"class":3757},[3751,22923,13100],{"class":3843},[3751,22925,22926,22928,22930,22933],{"class":3753,"line":13315},[3751,22927,13376],{"class":3811},[3751,22929,3601],{"class":3843},[3751,22931,22932],{"class":3811},"content",[3751,22934,6146],{"class":3843},[3751,22936,22937,22940,22942,22944,22946,22948,22950,22952,22954,22956,22958,22960,22962,22964,22966,22968],{"class":3753,"line":13320},[3751,22938,22939],{"class":3843},"          { ",[3751,22941,8059],{"class":3811},[3751,22943,12688],{"class":3811},[3751,22945,3601],{"class":3843},[3751,22947,12693],{"class":3811},[3751,22949,3640],{"class":3843},[3751,22951,8630],{"class":3811},[3751,22953,12688],{"class":3811},[3751,22955,3601],{"class":3843},[3751,22957,12693],{"class":3811},[3751,22959,3640],{"class":3843},[3751,22961,8066],{"class":3811},[3751,22963,12688],{"class":3811},[3751,22965,3601],{"class":3843},[3751,22967,13146],{"class":3811},[3751,22969,6665],{"class":3843},[3751,22971,22972,22974],{"class":3753,"line":13325},[3751,22973,13471],{"class":3843},[3751,22975,4605],{"class":3757},[3751,22977,22978,22981,22983],{"class":3753,"line":13332},[3751,22979,22980],{"class":3833},"        keyboardShouldPersistTaps",[3751,22982,3837],{"class":3761},[3751,22984,22985],{"class":3784},"\"handled\"\n",[3751,22987,22988,22991,22993],{"class":3753,"line":13355},[3751,22989,22990],{"class":3833},"        keyboardDismissMode",[3751,22992,3837],{"class":3761},[3751,22994,22995],{"class":3784},"\"on-drag\"\n",[3751,22997,22998,23000,23002],{"class":3753,"line":13362},[3751,22999,15872],{"class":3833},[3751,23001,3837],{"class":3761},[3751,23003,12920],{"class":3757},[3751,23005,23006],{"class":3753,"line":13373},[3751,23007,6723],{"class":3825},[3751,23009,23010,23012,23014,23016,23018,23020,23022,23024,23026,23028,23030,23032,23034],{"class":3753,"line":13385},[3751,23011,4484],{"class":3825},[3751,23013,12062],{"class":3829},[3751,23015,13190],{"class":3833},[3751,23017,3837],{"class":3761},[3751,23019,13517],{"class":3784},[3751,23021,7116],{"class":3833},[3751,23023,3837],{"class":3761},[3751,23025,3840],{"class":3757},[3751,23027,10934],{"class":3811},[3751,23029,3601],{"class":3843},[3751,23031,4980],{"class":3811},[3751,23033,3861],{"class":3757},[3751,23035,4468],{"class":3825},[3751,23037,23038],{"class":3753,"line":13391},[3751,23039,23040],{"class":3761},"          Заповніть поля. Помилки з’являться після натискання «Створити», якщо\n",[3751,23042,23043],{"class":3753,"line":13405},[3751,23044,23045],{"class":3761},"          щось не так. Тут зібрані різні типи контролів: текст, список, дати,\n",[3751,23047,23048],{"class":3753,"line":13419},[3751,23049,23050],{"class":3761},"          перемикач, галочка, повзунок.\n",[3751,23052,23053,23055,23057],{"class":3753,"line":13433},[3751,23054,4569],{"class":3825},[3751,23056,12062],{"class":3829},[3751,23058,4468],{"class":3825},[3751,23060,23061],{"class":3753,"line":13448},[3751,23062,5213],{"emptyLinePlaceholder":5212},[3751,23064,23065,23068,23071],{"class":3753,"line":13462},[3751,23066,23067],{"class":3757},"        {",[3751,23069,23070],{"class":5471},"\u002F* ——— TextInput ——— *\u002F",[3751,23072,4605],{"class":3757},[3751,23074,23075,23077],{"class":3753,"line":13468},[3751,23076,4484],{"class":3825},[3751,23078,23079],{"class":3829},"Controller\n",[3751,23081,23082,23085,23087,23089,23092],{"class":3753,"line":13476},[3751,23083,23084],{"class":3833},"          control",[3751,23086,3837],{"class":3761},[3751,23088,3840],{"class":3757},[3751,23090,23091],{"class":3811},"control",[3751,23093,4605],{"class":3757},[3751,23095,23096,23098,23100],{"class":3753,"line":13481},[3751,23097,6765],{"class":3833},[3751,23099,3837],{"class":3761},[3751,23101,23102],{"class":3784},"\"title\"\n",[3751,23104,23105,23108,23110,23112,23114,23116,23118,23121,23123,23126,23128,23130,23133,23135],{"class":3753,"line":13506},[3751,23106,23107],{"class":3833},"          render",[3751,23109,3837],{"class":3761},[3751,23111,3840],{"class":3757},[3751,23113,7670],{"class":3843},[3751,23115,4395],{"class":3811},[3751,23117,12094],{"class":3843},[3751,23119,23120],{"class":3811},"onChange",[3751,23122,3640],{"class":3843},[3751,23124,23125],{"class":3811},"onBlur",[3751,23127,3640],{"class":3843},[3751,23129,20158],{"class":3811},[3751,23131,23132],{"class":3843}," } }) ",[3751,23134,3847],{"class":3757},[3751,23136,4458],{"class":3843},[3751,23138,23139,23141],{"class":3753,"line":13542},[3751,23140,7093],{"class":3825},[3751,23142,23143],{"class":3829},"TextField\n",[3751,23145,23146,23149,23151],{"class":3753,"line":13568},[3751,23147,23148],{"class":3833},"              label",[3751,23150,3837],{"class":3761},[3751,23152,23153],{"class":3784},"\"Назва поїздки\"\n",[3751,23155,23156,23159,23161],{"class":3753,"line":13577},[3751,23157,23158],{"class":3833},"              placeholder",[3751,23160,3837],{"class":3761},[3751,23162,23163],{"class":3784},"\"Наприклад, Карпати на вихідні\"\n",[3751,23165,23166,23169,23171,23173,23175],{"class":3753,"line":13584},[3751,23167,23168],{"class":3833},"              value",[3751,23170,3837],{"class":3761},[3751,23172,3840],{"class":3757},[3751,23174,20158],{"class":3811},[3751,23176,4605],{"class":3757},[3751,23178,23179,23182,23184,23186,23188],{"class":3753,"line":13594},[3751,23180,23181],{"class":3833},"              onChangeText",[3751,23183,3837],{"class":3761},[3751,23185,3840],{"class":3757},[3751,23187,23120],{"class":3811},[3751,23189,4605],{"class":3757},[3751,23191,23192,23195,23197,23199,23201],{"class":3753,"line":13606},[3751,23193,23194],{"class":3833},"              onBlur",[3751,23196,3837],{"class":3761},[3751,23198,3840],{"class":3757},[3751,23200,23125],{"class":3811},[3751,23202,4605],{"class":3757},[3751,23204,23205,23208,23210,23212,23214,23216,23218,23221,23224],{"class":3753,"line":13620},[3751,23206,23207],{"class":3833},"              error",[3751,23209,3837],{"class":3761},[3751,23211,3840],{"class":3757},[3751,23213,22337],{"class":3811},[3751,23215,3601],{"class":3843},[3751,23217,4809],{"class":3811},[3751,23219,23220],{"class":3843},"?.",[3751,23222,23223],{"class":3811},"message",[3751,23225,4605],{"class":3757},[3751,23227,23228,23231,23233],{"class":3753,"line":13634},[3751,23229,23230],{"class":3833},"              autoCapitalize",[3751,23232,3837],{"class":3761},[3751,23234,23235],{"class":3784},"\"sentences\"\n",[3751,23237,23238,23241,23243],{"class":3753,"line":13644},[3751,23239,23240],{"class":3833},"              returnKeyType",[3751,23242,3837],{"class":3761},[3751,23244,23245],{"class":3784},"\"next\"\n",[3751,23247,23248,23251,23253,23255,23257],{"class":3753,"line":13651},[3751,23249,23250],{"class":3833},"              maxLength",[3751,23252,3837],{"class":3761},[3751,23254,3840],{"class":3757},[3751,23256,18693],{"class":7005},[3751,23258,4605],{"class":3757},[3751,23260,23261],{"class":3753,"line":13657},[3751,23262,7244],{"class":3825},[3751,23264,23265,23268],{"class":3753,"line":13674},[3751,23266,23267],{"class":3843},"          )",[3751,23269,4605],{"class":3757},[3751,23271,23272],{"class":3753,"line":13709},[3751,23273,6813],{"class":3825},[3751,23275,23276],{"class":3753,"line":13720},[3751,23277,5213],{"emptyLinePlaceholder":5212},[3751,23279,23280,23282,23285],{"class":3753,"line":13729},[3751,23281,23067],{"class":3757},[3751,23283,23284],{"class":5471},"\u002F* ——— Picker ——— *\u002F",[3751,23286,4605],{"class":3757},[3751,23288,23289,23291],{"class":3753,"line":13734},[3751,23290,4484],{"class":3825},[3751,23292,23079],{"class":3829},[3751,23294,23295,23297,23299,23301,23303],{"class":3753,"line":13784},[3751,23296,23084],{"class":3833},[3751,23298,3837],{"class":3761},[3751,23300,3840],{"class":3757},[3751,23302,23091],{"class":3811},[3751,23304,4605],{"class":3757},[3751,23306,23307,23309,23311],{"class":3753,"line":13807},[3751,23308,6765],{"class":3833},[3751,23310,3837],{"class":3761},[3751,23312,23313],{"class":3784},"\"region\"\n",[3751,23315,23316,23318,23320,23322,23324,23326,23328,23330,23332,23334,23336,23338],{"class":3753,"line":13833},[3751,23317,23107],{"class":3833},[3751,23319,3837],{"class":3761},[3751,23321,3840],{"class":3757},[3751,23323,7670],{"class":3843},[3751,23325,4395],{"class":3811},[3751,23327,12094],{"class":3843},[3751,23329,23120],{"class":3811},[3751,23331,3640],{"class":3843},[3751,23333,20158],{"class":3811},[3751,23335,23132],{"class":3843},[3751,23337,3847],{"class":3757},[3751,23339,4458],{"class":3843},[3751,23341,23342,23344],{"class":3753,"line":13841},[3751,23343,7093],{"class":3825},[3751,23345,23346],{"class":3829},"FormRow\n",[3751,23348,23349,23351,23353],{"class":3753,"line":13849},[3751,23350,23148],{"class":3833},[3751,23352,3837],{"class":3761},[3751,23354,23355],{"class":3784},"\"Регіон\"\n",[3751,23357,23358,23361,23363],{"class":3753,"line":13867},[3751,23359,23360],{"class":3833},"              description",[3751,23362,3837],{"class":3761},[3751,23364,23365],{"class":3784},"\"Оберіть зі списку (Picker), а не вводьте вручну\"\n",[3751,23367,23368,23370,23372,23374,23376,23378,23380,23382,23384],{"class":3753,"line":13896},[3751,23369,23207],{"class":3833},[3751,23371,3837],{"class":3761},[3751,23373,3840],{"class":3757},[3751,23375,22337],{"class":3811},[3751,23377,3601],{"class":3843},[3751,23379,7807],{"class":3811},[3751,23381,23220],{"class":3843},[3751,23383,23223],{"class":3811},[3751,23385,4605],{"class":3757},[3751,23387,23388],{"class":3753,"line":13908},[3751,23389,23390],{"class":3833},"              stacked\n",[3751,23392,23393,23396,23398],{"class":3753,"line":13921},[3751,23394,23395],{"class":3833},"              control",[3751,23397,3837],{"class":3761},[3751,23399,6649],{"class":3757},[3751,23401,23402,23404],{"class":3753,"line":13927},[3751,23403,14050],{"class":3825},[3751,23405,13087],{"class":3829},[3751,23407,23408,23410,23412,23414],{"class":3753,"line":13954},[3751,23409,14100],{"class":3833},[3751,23411,3837],{"class":3761},[3751,23413,3840],{"class":3757},[3751,23415,13100],{"class":3843},[3751,23417,23418,23420,23422,23425],{"class":3753,"line":13968},[3751,23419,16795],{"class":3811},[3751,23421,3601],{"class":3843},[3751,23423,23424],{"class":3811},"pickerWrap",[3751,23426,6146],{"class":3843},[3751,23428,23429],{"class":3753,"line":13974},[3751,23430,16806],{"class":3843},[3751,23432,23433,23435,23438,23440],{"class":3753,"line":13982},[3751,23434,16836],{"class":3811},[3751,23436,23437],{"class":3811}," errors",[3751,23439,3601],{"class":3843},[3751,23441,23442],{"class":3811},"region\n",[3751,23444,23445,23448,23450,23452],{"class":3753,"line":13993},[3751,23446,23447],{"class":3761},"                        ?",[3751,23449,11021],{"class":3811},[3751,23451,3601],{"class":3843},[3751,23453,23454],{"class":3811},"danger\n",[3751,23456,23457,23460,23462,23464,23466],{"class":3753,"line":14014},[3751,23458,23459],{"class":3761},"                        :",[3751,23461,11021],{"class":3811},[3751,23463,3601],{"class":3843},[3751,23465,11482],{"class":3811},[3751,23467,6146],{"class":3843},[3751,23469,23470,23472,23474,23476,23478],{"class":3753,"line":14041},[3751,23471,16811],{"class":3811},[3751,23473,11021],{"class":3811},[3751,23475,3601],{"class":3843},[3751,23477,13949],{"class":3811},[3751,23479,6146],{"class":3843},[3751,23481,23482,23485,23488,23490,23492],{"class":3753,"line":14047},[3751,23483,23484],{"class":3811},"                      borderRadius:",[3751,23486,23487],{"class":3811}," radius",[3751,23489,3601],{"class":3843},[3751,23491,12693],{"class":3811},[3751,23493,6146],{"class":3843},[3751,23495,23496],{"class":3753,"line":14055},[3751,23497,16849],{"class":3843},[3751,23499,23500,23502],{"class":3753,"line":14065},[3751,23501,16854],{"class":3843},[3751,23503,4605],{"class":3757},[3751,23505,23506],{"class":3753,"line":14097},[3751,23507,14119],{"class":3825},[3751,23509,23510,23512],{"class":3753,"line":14116},[3751,23511,16918],{"class":3825},[3751,23513,23514],{"class":3829},"Picker\n",[3751,23516,23517,23520,23522,23524,23526],{"class":3753,"line":14122},[3751,23518,23519],{"class":3833},"                    selectedValue",[3751,23521,3837],{"class":3761},[3751,23523,3840],{"class":3757},[3751,23525,20158],{"class":3811},[3751,23527,4605],{"class":3757},[3751,23529,23530,23533,23535,23537,23539],{"class":3753,"line":14136},[3751,23531,23532],{"class":3833},"                    onValueChange",[3751,23534,3837],{"class":3761},[3751,23536,3840],{"class":3757},[3751,23538,23120],{"class":3811},[3751,23540,4605],{"class":3757},[3751,23542,23543,23546,23548,23550,23552,23554,23556],{"class":3753,"line":14146},[3751,23544,23545],{"class":3833},"                    dropdownIconColor",[3751,23547,3837],{"class":3761},[3751,23549,3840],{"class":3757},[3751,23551,10934],{"class":3811},[3751,23553,3601],{"class":3843},[3751,23555,4249],{"class":3811},[3751,23557,4605],{"class":3757},[3751,23559,23560,23562,23564,23566,23568,23570,23572,23574,23576,23578],{"class":3753,"line":14156},[3751,23561,16963],{"class":3833},[3751,23563,3837],{"class":3761},[3751,23565,3840],{"class":3757},[3751,23567,4515],{"class":3843},[3751,23569,6693],{"class":3811},[3751,23571,11021],{"class":3811},[3751,23573,3601],{"class":3843},[3751,23575,4249],{"class":3811},[3751,23577,4524],{"class":3843},[3751,23579,4605],{"class":3757},[3751,23581,23582],{"class":3753,"line":14162},[3751,23583,16980],{"class":3825},[3751,23585,23586,23588,23590,23592,23594,23596,23598,23600,23602],{"class":3753,"line":14170},[3751,23587,16985],{"class":3757},[3751,23589,18030],{"class":3765},[3751,23591,3601],{"class":3843},[3751,23593,13794],{"class":3777},[3751,23595,6508],{"class":3843},[3751,23597,7807],{"class":3811},[3751,23599,3819],{"class":3843},[3751,23601,3847],{"class":3757},[3751,23603,4458],{"class":3843},[3751,23605,23606,23609],{"class":3753,"line":14179},[3751,23607,23608],{"class":3825},"                      \u003C",[3751,23610,23611],{"class":3829},"Picker.Item\n",[3751,23613,23614,23617,23619,23621,23623],{"class":3753,"line":14188},[3751,23615,23616],{"class":3833},"                        key",[3751,23618,3837],{"class":3761},[3751,23620,3840],{"class":3757},[3751,23622,7807],{"class":3811},[3751,23624,4605],{"class":3757},[3751,23626,23627,23630,23632,23634,23636],{"class":3753,"line":14193},[3751,23628,23629],{"class":3833},"                        label",[3751,23631,3837],{"class":3761},[3751,23633,3840],{"class":3757},[3751,23635,7807],{"class":3811},[3751,23637,4605],{"class":3757},[3751,23639,23640,23643,23645,23647,23649],{"class":3753,"line":14217},[3751,23641,23642],{"class":3833},"                        value",[3751,23644,3837],{"class":3761},[3751,23646,3840],{"class":3757},[3751,23648,7807],{"class":3811},[3751,23650,4605],{"class":3757},[3751,23652,23653,23656,23658,23660,23662,23664,23666],{"class":3753,"line":14225},[3751,23654,23655],{"class":3833},"                        color",[3751,23657,3837],{"class":3761},[3751,23659,3840],{"class":3757},[3751,23661,10934],{"class":3811},[3751,23663,3601],{"class":3843},[3751,23665,4249],{"class":3811},[3751,23667,4605],{"class":3757},[3751,23669,23670],{"class":3753,"line":14239},[3751,23671,23672],{"class":3825},"                      \u002F>\n",[3751,23674,23675,23678],{"class":3753,"line":14254},[3751,23676,23677],{"class":3843},"                    ))",[3751,23679,4605],{"class":3757},[3751,23681,23682,23684,23686],{"class":3753,"line":14269},[3751,23683,16998],{"class":3825},[3751,23685,21790],{"class":3829},[3751,23687,4468],{"class":3825},[3751,23689,23690,23692,23694],{"class":3753,"line":14284},[3751,23691,14139],{"class":3825},[3751,23693,7319],{"class":3829},[3751,23695,4468],{"class":3825},[3751,23697,23698],{"class":3753,"line":14299},[3751,23699,23700],{"class":3757},"              }\n",[3751,23702,23703],{"class":3753,"line":14311},[3751,23704,7244],{"class":3825},[3751,23706,23707,23709],{"class":3753,"line":14324},[3751,23708,23267],{"class":3843},[3751,23710,4605],{"class":3757},[3751,23712,23713],{"class":3753,"line":14337},[3751,23714,6813],{"class":3825},[3751,23716,23717],{"class":3753,"line":14350},[3751,23718,5213],{"emptyLinePlaceholder":5212},[3751,23720,23721,23723,23726],{"class":3753,"line":14357},[3751,23722,23067],{"class":3757},[3751,23724,23725],{"class":5471},"\u002F* ——— DateTimePicker через DateField ——— *\u002F",[3751,23727,4605],{"class":3757},[3751,23729,23730,23732],{"class":3753,"line":14399},[3751,23731,4484],{"class":3825},[3751,23733,23079],{"class":3829},[3751,23735,23736,23738,23740,23742,23744],{"class":3753,"line":14409},[3751,23737,23084],{"class":3833},[3751,23739,3837],{"class":3761},[3751,23741,3840],{"class":3757},[3751,23743,23091],{"class":3811},[3751,23745,4605],{"class":3757},[3751,23747,23748,23750,23752],{"class":3753,"line":14417},[3751,23749,6765],{"class":3833},[3751,23751,3837],{"class":3761},[3751,23753,23754],{"class":3784},"\"startDate\"\n",[3751,23756,23757,23759,23761,23763,23765,23767,23769,23771,23773,23775,23777,23779,23781,23783],{"class":3753,"line":14431},[3751,23758,23107],{"class":3833},[3751,23760,3837],{"class":3761},[3751,23762,3840],{"class":3757},[3751,23764,7670],{"class":3843},[3751,23766,4395],{"class":3811},[3751,23768,12094],{"class":3843},[3751,23770,23120],{"class":3811},[3751,23772,3640],{"class":3843},[3751,23774,23125],{"class":3811},[3751,23776,3640],{"class":3843},[3751,23778,20158],{"class":3811},[3751,23780,23132],{"class":3843},[3751,23782,3847],{"class":3757},[3751,23784,4458],{"class":3843},[3751,23786,23787,23789],{"class":3753,"line":14446},[3751,23788,7093],{"class":3825},[3751,23790,23791],{"class":3829},"DateField\n",[3751,23793,23794,23796,23798],{"class":3753,"line":14464},[3751,23795,23148],{"class":3833},[3751,23797,3837],{"class":3761},[3751,23799,23800],{"class":3784},"\"Дата початку\"\n",[3751,23802,23803,23805,23807,23809,23811],{"class":3753,"line":14486},[3751,23804,23168],{"class":3833},[3751,23806,3837],{"class":3761},[3751,23808,3840],{"class":3757},[3751,23810,20158],{"class":3811},[3751,23812,4605],{"class":3757},[3751,23814,23815,23818,23820,23822,23824],{"class":3753,"line":14491},[3751,23816,23817],{"class":3833},"              onChange",[3751,23819,3837],{"class":3761},[3751,23821,3840],{"class":3757},[3751,23823,23120],{"class":3811},[3751,23825,4605],{"class":3757},[3751,23827,23828,23830,23832,23834,23836],{"class":3753,"line":14497},[3751,23829,23194],{"class":3833},[3751,23831,3837],{"class":3761},[3751,23833,3840],{"class":3757},[3751,23835,23125],{"class":3811},[3751,23837,4605],{"class":3757},[3751,23839,23840,23842,23844,23846,23848,23850,23852,23854,23856],{"class":3753,"line":14507},[3751,23841,23207],{"class":3833},[3751,23843,3837],{"class":3761},[3751,23845,3840],{"class":3757},[3751,23847,22337],{"class":3811},[3751,23849,3601],{"class":3843},[3751,23851,19025],{"class":3811},[3751,23853,23220],{"class":3843},[3751,23855,23223],{"class":3811},[3751,23857,4605],{"class":3757},[3751,23859,23860],{"class":3753,"line":14512},[3751,23861,7244],{"class":3825},[3751,23863,23864,23866],{"class":3753,"line":14521},[3751,23865,23267],{"class":3843},[3751,23867,4605],{"class":3757},[3751,23869,23870],{"class":3753,"line":14526},[3751,23871,6813],{"class":3825},[3751,23873,23874],{"class":3753,"line":14533},[3751,23875,5213],{"emptyLinePlaceholder":5212},[3751,23877,23878,23880],{"class":3753,"line":14544},[3751,23879,4484],{"class":3825},[3751,23881,23079],{"class":3829},[3751,23883,23884,23886,23888,23890,23892],{"class":3753,"line":14556},[3751,23885,23084],{"class":3833},[3751,23887,3837],{"class":3761},[3751,23889,3840],{"class":3757},[3751,23891,23091],{"class":3811},[3751,23893,4605],{"class":3757},[3751,23895,23896,23898,23900],{"class":3753,"line":14561},[3751,23897,6765],{"class":3833},[3751,23899,3837],{"class":3761},[3751,23901,23902],{"class":3784},"\"endDate\"\n",[3751,23904,23905,23907,23909,23911,23913,23915,23917,23919,23921,23923,23925,23927,23929,23931],{"class":3753,"line":14574},[3751,23906,23107],{"class":3833},[3751,23908,3837],{"class":3761},[3751,23910,3840],{"class":3757},[3751,23912,7670],{"class":3843},[3751,23914,4395],{"class":3811},[3751,23916,12094],{"class":3843},[3751,23918,23120],{"class":3811},[3751,23920,3640],{"class":3843},[3751,23922,23125],{"class":3811},[3751,23924,3640],{"class":3843},[3751,23926,20158],{"class":3811},[3751,23928,23132],{"class":3843},[3751,23930,3847],{"class":3757},[3751,23932,4458],{"class":3843},[3751,23934,23935,23937],{"class":3753,"line":14587},[3751,23936,7093],{"class":3825},[3751,23938,23791],{"class":3829},[3751,23940,23941,23943,23945],{"class":3753,"line":14600},[3751,23942,23148],{"class":3833},[3751,23944,3837],{"class":3761},[3751,23946,23947],{"class":3784},"\"Дата завершення\"\n",[3751,23949,23950,23952,23954,23956,23958],{"class":3753,"line":14614},[3751,23951,23168],{"class":3833},[3751,23953,3837],{"class":3761},[3751,23955,3840],{"class":3757},[3751,23957,20158],{"class":3811},[3751,23959,4605],{"class":3757},[3751,23961,23962,23964,23966,23968,23970],{"class":3753,"line":14628},[3751,23963,23817],{"class":3833},[3751,23965,3837],{"class":3761},[3751,23967,3840],{"class":3757},[3751,23969,23120],{"class":3811},[3751,23971,4605],{"class":3757},[3751,23973,23974,23976,23978,23980,23982],{"class":3753,"line":14633},[3751,23975,23194],{"class":3833},[3751,23977,3837],{"class":3761},[3751,23979,3840],{"class":3757},[3751,23981,23125],{"class":3811},[3751,23983,4605],{"class":3757},[3751,23985,23986,23988,23990,23992,23994,23996,23998,24000,24002],{"class":3753,"line":14640},[3751,23987,23207],{"class":3833},[3751,23989,3837],{"class":3761},[3751,23991,3840],{"class":3757},[3751,23993,22337],{"class":3811},[3751,23995,3601],{"class":3843},[3751,23997,19010],{"class":3811},[3751,23999,23220],{"class":3843},[3751,24001,23223],{"class":3811},[3751,24003,4605],{"class":3757},[3751,24005,24006,24009,24011,24013,24015],{"class":3753,"line":14645},[3751,24007,24008],{"class":3833},"              minimumDate",[3751,24010,3837],{"class":3761},[3751,24012,3840],{"class":3757},[3751,24014,19025],{"class":3811},[3751,24016,4605],{"class":3757},[3751,24018,24019],{"class":3753,"line":14653},[3751,24020,7244],{"class":3825},[3751,24022,24023,24025],{"class":3753,"line":14664},[3751,24024,23267],{"class":3843},[3751,24026,4605],{"class":3757},[3751,24028,24029],{"class":3753,"line":14680},[3751,24030,6813],{"class":3825},[3751,24032,24033],{"class":3753,"line":14696},[3751,24034,5213],{"emptyLinePlaceholder":5212},[3751,24036,24037,24039,24042],{"class":3753,"line":14703},[3751,24038,23067],{"class":3757},[3751,24040,24041],{"class":5471},"\u002F* ——— TextInput multiline ——— *\u002F",[3751,24043,4605],{"class":3757},[3751,24045,24046,24048],{"class":3753,"line":14708},[3751,24047,4484],{"class":3825},[3751,24049,23079],{"class":3829},[3751,24051,24052,24054,24056,24058,24060],{"class":3753,"line":14717},[3751,24053,23084],{"class":3833},[3751,24055,3837],{"class":3761},[3751,24057,3840],{"class":3757},[3751,24059,23091],{"class":3811},[3751,24061,4605],{"class":3757},[3751,24063,24064,24066,24068],{"class":3753,"line":14726},[3751,24065,6765],{"class":3833},[3751,24067,3837],{"class":3761},[3751,24069,24070],{"class":3784},"\"description\"\n",[3751,24072,24073,24075,24077,24079,24081,24083,24085,24087,24089,24091,24093,24095,24097,24099],{"class":3753,"line":14731},[3751,24074,23107],{"class":3833},[3751,24076,3837],{"class":3761},[3751,24078,3840],{"class":3757},[3751,24080,7670],{"class":3843},[3751,24082,4395],{"class":3811},[3751,24084,12094],{"class":3843},[3751,24086,23120],{"class":3811},[3751,24088,3640],{"class":3843},[3751,24090,23125],{"class":3811},[3751,24092,3640],{"class":3843},[3751,24094,20158],{"class":3811},[3751,24096,23132],{"class":3843},[3751,24098,3847],{"class":3757},[3751,24100,4458],{"class":3843},[3751,24102,24103,24105],{"class":3753,"line":14736},[3751,24104,7093],{"class":3825},[3751,24106,23143],{"class":3829},[3751,24108,24109,24111,24113],{"class":3753,"line":14741},[3751,24110,23148],{"class":3833},[3751,24112,3837],{"class":3761},[3751,24114,24115],{"class":3784},"\"Опис\"\n",[3751,24117,24118,24120,24122],{"class":3753,"line":14758},[3751,24119,23158],{"class":3833},[3751,24121,3837],{"class":3761},[3751,24123,24124],{"class":3784},"\"Коротко: що плануєте побачити, з ким їдете…\"\n",[3751,24126,24127,24129,24131,24133,24135],{"class":3753,"line":14766},[3751,24128,23168],{"class":3833},[3751,24130,3837],{"class":3761},[3751,24132,3840],{"class":3757},[3751,24134,20158],{"class":3811},[3751,24136,4605],{"class":3757},[3751,24138,24139,24141,24143,24145,24147],{"class":3753,"line":14775},[3751,24140,23181],{"class":3833},[3751,24142,3837],{"class":3761},[3751,24144,3840],{"class":3757},[3751,24146,23120],{"class":3811},[3751,24148,4605],{"class":3757},[3751,24150,24151,24153,24155,24157,24159],{"class":3753,"line":14780},[3751,24152,23194],{"class":3833},[3751,24154,3837],{"class":3761},[3751,24156,3840],{"class":3757},[3751,24158,23125],{"class":3811},[3751,24160,4605],{"class":3757},[3751,24162,24163,24165,24167,24169,24171,24173,24175,24177,24179],{"class":3753,"line":14787},[3751,24164,23207],{"class":3833},[3751,24166,3837],{"class":3761},[3751,24168,3840],{"class":3757},[3751,24170,22337],{"class":3811},[3751,24172,3601],{"class":3843},[3751,24174,9322],{"class":3811},[3751,24176,23220],{"class":3843},[3751,24178,23223],{"class":3811},[3751,24180,4605],{"class":3757},[3751,24182,24183],{"class":3753,"line":14796},[3751,24184,24185],{"class":3833},"              multiline\n",[3751,24187,24188,24191,24193,24195,24198],{"class":3753,"line":14801},[3751,24189,24190],{"class":3833},"              numberOfLines",[3751,24192,3837],{"class":3761},[3751,24194,3840],{"class":3757},[3751,24196,24197],{"class":7005},"4",[3751,24199,4605],{"class":3757},[3751,24201,24202,24205,24207],{"class":3753,"line":14809},[3751,24203,24204],{"class":3833},"              textAlignVertical",[3751,24206,3837],{"class":3761},[3751,24208,24209],{"class":3784},"\"top\"\n",[3751,24211,24212,24214,24216,24218,24220,24222,24225],{"class":3753,"line":14820},[3751,24213,17245],{"class":3833},[3751,24215,3837],{"class":3761},[3751,24217,3840],{"class":3757},[3751,24219,5308],{"class":3811},[3751,24221,3601],{"class":3843},[3751,24223,24224],{"class":3811},"multiline",[3751,24226,4605],{"class":3757},[3751,24228,24229,24231,24233,24235,24237],{"class":3753,"line":14831},[3751,24230,23250],{"class":3833},[3751,24232,3837],{"class":3761},[3751,24234,3840],{"class":3757},[3751,24236,18787],{"class":7005},[3751,24238,4605],{"class":3757},[3751,24240,24241,24244,24246],{"class":3753,"line":14836},[3751,24242,24243],{"class":3833},"              hint",[3751,24245,3837],{"class":3761},[3751,24247,24248],{"class":3784},"\"Мінімум 10 символів\"\n",[3751,24250,24251],{"class":3753,"line":14844},[3751,24252,7244],{"class":3825},[3751,24254,24255,24257],{"class":3753,"line":14853},[3751,24256,23267],{"class":3843},[3751,24258,4605],{"class":3757},[3751,24260,24261],{"class":3753,"line":14863},[3751,24262,6813],{"class":3825},[3751,24264,24265],{"class":3753,"line":14872},[3751,24266,5213],{"emptyLinePlaceholder":5212},[3751,24268,24269,24271,24274],{"class":3753,"line":14881},[3751,24270,23067],{"class":3757},[3751,24272,24273],{"class":5471},"\u002F* ——— Slider ——— *\u002F",[3751,24275,4605],{"class":3757},[3751,24277,24278,24280],{"class":3753,"line":14886},[3751,24279,4484],{"class":3825},[3751,24281,23079],{"class":3829},[3751,24283,24284,24286,24288,24290,24292],{"class":3753,"line":14894},[3751,24285,23084],{"class":3833},[3751,24287,3837],{"class":3761},[3751,24289,3840],{"class":3757},[3751,24291,23091],{"class":3811},[3751,24293,4605],{"class":3757},[3751,24295,24296,24298,24300],{"class":3753,"line":14903},[3751,24297,6765],{"class":3833},[3751,24299,3837],{"class":3761},[3751,24301,24302],{"class":3784},"\"plannedDays\"\n",[3751,24304,24305,24307,24309,24311,24313,24315,24317,24319,24321,24323,24325,24327],{"class":3753,"line":14908},[3751,24306,23107],{"class":3833},[3751,24308,3837],{"class":3761},[3751,24310,3840],{"class":3757},[3751,24312,7670],{"class":3843},[3751,24314,4395],{"class":3811},[3751,24316,12094],{"class":3843},[3751,24318,23120],{"class":3811},[3751,24320,3640],{"class":3843},[3751,24322,20158],{"class":3811},[3751,24324,23132],{"class":3843},[3751,24326,3847],{"class":3757},[3751,24328,4458],{"class":3843},[3751,24330,24331,24333],{"class":3753,"line":14916},[3751,24332,7093],{"class":3825},[3751,24334,23346],{"class":3829},[3751,24336,24337,24339,24341,24343,24346,24348,24350,24352,24354,24357,24359,24361,24363,24365,24367],{"class":3753,"line":14925},[3751,24338,23148],{"class":3833},[3751,24340,3837],{"class":3761},[3751,24342,3840],{"class":3757},[3751,24344,24345],{"class":3784},"`Тривалість: ",[3751,24347,7696],{"class":3757},[3751,24349,20158],{"class":3811},[3751,24351,3861],{"class":3757},[3751,24353,19247],{"class":3757},[3751,24355,24356],{"class":3777},"daysWord",[3751,24358,3853],{"class":3843},[3751,24360,20158],{"class":3811},[3751,24362,3858],{"class":3843},[3751,24364,3861],{"class":3757},[3751,24366,7707],{"class":3784},[3751,24368,4605],{"class":3757},[3751,24370,24371,24373,24375],{"class":3753,"line":14930},[3751,24372,23360],{"class":3833},[3751,24374,3837],{"class":3761},[3751,24376,24377],{"class":3784},"\"Повзунок (Slider) — зручно для діапазону 1–14\"\n",[3751,24379,24380,24382,24384,24386,24388,24390,24392,24394,24396],{"class":3753,"line":14938},[3751,24381,23207],{"class":3833},[3751,24383,3837],{"class":3761},[3751,24385,3840],{"class":3757},[3751,24387,22337],{"class":3811},[3751,24389,3601],{"class":3843},[3751,24391,22744],{"class":3811},[3751,24393,23220],{"class":3843},[3751,24395,23223],{"class":3811},[3751,24397,4605],{"class":3757},[3751,24399,24400],{"class":3753,"line":14947},[3751,24401,23390],{"class":3833},[3751,24403,24404,24406,24408],{"class":3753,"line":14956},[3751,24405,23395],{"class":3833},[3751,24407,3837],{"class":3761},[3751,24409,6649],{"class":3757},[3751,24411,24412,24414],{"class":3753,"line":14961},[3751,24413,14050],{"class":3825},[3751,24415,24416],{"class":3829},"Slider\n",[3751,24418,24419,24422,24424,24426,24428],{"class":3753,"line":14969},[3751,24420,24421],{"class":3833},"                  minimumValue",[3751,24423,3837],{"class":3761},[3751,24425,3840],{"class":3757},[3751,24427,18887],{"class":7005},[3751,24429,4605],{"class":3757},[3751,24431,24432,24435,24437,24439,24441],{"class":3753,"line":14979},[3751,24433,24434],{"class":3833},"                  maximumValue",[3751,24436,3837],{"class":3761},[3751,24438,3840],{"class":3757},[3751,24440,18905],{"class":7005},[3751,24442,4605],{"class":3757},[3751,24444,24445,24448,24450,24452,24454],{"class":3753,"line":14984},[3751,24446,24447],{"class":3833},"                  step",[3751,24449,3837],{"class":3761},[3751,24451,3840],{"class":3757},[3751,24453,18887],{"class":7005},[3751,24455,4605],{"class":3757},[3751,24457,24458,24461,24463,24465,24467],{"class":3753,"line":14992},[3751,24459,24460],{"class":3833},"                  value",[3751,24462,3837],{"class":3761},[3751,24464,3840],{"class":3757},[3751,24466,20158],{"class":3811},[3751,24468,4605],{"class":3757},[3751,24470,24471,24474,24476,24478,24480],{"class":3753,"line":15001},[3751,24472,24473],{"class":3833},"                  onValueChange",[3751,24475,3837],{"class":3761},[3751,24477,3840],{"class":3757},[3751,24479,23120],{"class":3811},[3751,24481,4605],{"class":3757},[3751,24483,24484,24487,24489,24491,24493,24495,24497],{"class":3753,"line":15006},[3751,24485,24486],{"class":3833},"                  minimumTrackTintColor",[3751,24488,3837],{"class":3761},[3751,24490,3840],{"class":3757},[3751,24492,10934],{"class":3811},[3751,24494,3601],{"class":3843},[3751,24496,11055],{"class":3811},[3751,24498,4605],{"class":3757},[3751,24500,24501,24504,24506,24508,24510,24512,24514],{"class":3753,"line":15014},[3751,24502,24503],{"class":3833},"                  maximumTrackTintColor",[3751,24505,3837],{"class":3761},[3751,24507,3840],{"class":3757},[3751,24509,10934],{"class":3811},[3751,24511,3601],{"class":3843},[3751,24513,11482],{"class":3811},[3751,24515,4605],{"class":3757},[3751,24517,24518,24521,24523,24525,24527,24529,24531],{"class":3753,"line":15024},[3751,24519,24520],{"class":3833},"                  thumbTintColor",[3751,24522,3837],{"class":3761},[3751,24524,3840],{"class":3757},[3751,24526,10934],{"class":3811},[3751,24528,3601],{"class":3843},[3751,24530,11055],{"class":3811},[3751,24532,4605],{"class":3757},[3751,24534,24535],{"class":3753,"line":15029},[3751,24536,24537],{"class":3825},"                \u002F>\n",[3751,24539,24541],{"class":3753,"line":24540},256,[3751,24542,23700],{"class":3757},[3751,24544,24546],{"class":3753,"line":24545},257,[3751,24547,7244],{"class":3825},[3751,24549,24551,24553],{"class":3753,"line":24550},258,[3751,24552,23267],{"class":3843},[3751,24554,4605],{"class":3757},[3751,24556,24558],{"class":3753,"line":24557},259,[3751,24559,6813],{"class":3825},[3751,24561,24563,24565,24567,24569,24571,24573,24575,24577,24579,24581,24583,24585,24587],{"class":3753,"line":24562},260,[3751,24564,4484],{"class":3825},[3751,24566,12062],{"class":3829},[3751,24568,13190],{"class":3833},[3751,24570,3837],{"class":3761},[3751,24572,13517],{"class":3784},[3751,24574,7116],{"class":3833},[3751,24576,3837],{"class":3761},[3751,24578,3840],{"class":3757},[3751,24580,10934],{"class":3811},[3751,24582,3601],{"class":3843},[3751,24584,4980],{"class":3811},[3751,24586,3861],{"class":3757},[3751,24588,4468],{"class":3825},[3751,24590,24592,24595,24597,24599,24602,24604],{"class":3753,"line":24591},261,[3751,24593,24594],{"class":3761},"          Зараз на слайдері: ",[3751,24596,3840],{"class":3757},[3751,24598,22744],{"class":3811},[3751,24600,24601],{"class":3757},"}{",[3751,24603,16429],{"class":3784},[3751,24605,4605],{"class":3757},[3751,24607,24609,24611,24613,24615,24617,24620,24622,24624,24626],{"class":3753,"line":24608},262,[3751,24610,13660],{"class":3757},[3751,24612,24356],{"class":3777},[3751,24614,3853],{"class":3843},[3751,24616,22744],{"class":3811},[3751,24618,24619],{"class":3761}," ??",[3751,24621,7928],{"class":7005},[3751,24623,3858],{"class":3843},[3751,24625,3861],{"class":3757},[3751,24627,24628],{"class":3761}," (можна не збігатися з датами — це\n",[3751,24630,24632],{"class":3753,"line":24631},263,[3751,24633,24634],{"class":3761},"          окреме «орієнтовне» поле для навчання).\n",[3751,24636,24638,24640,24642],{"class":3753,"line":24637},264,[3751,24639,4569],{"class":3825},[3751,24641,12062],{"class":3829},[3751,24643,4468],{"class":3825},[3751,24645,24647],{"class":3753,"line":24646},265,[3751,24648,5213],{"emptyLinePlaceholder":5212},[3751,24650,24652,24654,24657],{"class":3753,"line":24651},266,[3751,24653,23067],{"class":3757},[3751,24655,24656],{"class":5471},"\u002F* ——— Switch ——— *\u002F",[3751,24658,4605],{"class":3757},[3751,24660,24662,24664],{"class":3753,"line":24661},267,[3751,24663,4484],{"class":3825},[3751,24665,23079],{"class":3829},[3751,24667,24669,24671,24673,24675,24677],{"class":3753,"line":24668},268,[3751,24670,23084],{"class":3833},[3751,24672,3837],{"class":3761},[3751,24674,3840],{"class":3757},[3751,24676,23091],{"class":3811},[3751,24678,4605],{"class":3757},[3751,24680,24682,24684,24686],{"class":3753,"line":24681},269,[3751,24683,6765],{"class":3833},[3751,24685,3837],{"class":3761},[3751,24687,24688],{"class":3784},"\"isPrivate\"\n",[3751,24690,24692,24694,24696,24698,24700,24702,24704,24706,24708,24710,24712,24714],{"class":3753,"line":24691},270,[3751,24693,23107],{"class":3833},[3751,24695,3837],{"class":3761},[3751,24697,3840],{"class":3757},[3751,24699,7670],{"class":3843},[3751,24701,4395],{"class":3811},[3751,24703,12094],{"class":3843},[3751,24705,23120],{"class":3811},[3751,24707,3640],{"class":3843},[3751,24709,20158],{"class":3811},[3751,24711,23132],{"class":3843},[3751,24713,3847],{"class":3757},[3751,24715,4458],{"class":3843},[3751,24717,24719,24721],{"class":3753,"line":24718},271,[3751,24720,7093],{"class":3825},[3751,24722,23346],{"class":3829},[3751,24724,24726,24728,24730],{"class":3753,"line":24725},272,[3751,24727,23148],{"class":3833},[3751,24729,3837],{"class":3761},[3751,24731,24732],{"class":3784},"\"Приватна поїздка\"\n",[3751,24734,24736,24738,24740],{"class":3753,"line":24735},273,[3751,24737,23360],{"class":3833},[3751,24739,3837],{"class":3761},[3751,24741,24742],{"class":3784},"\"Switch: увімкнено — мітка «приватна» на картці\"\n",[3751,24744,24746,24748,24750,24752,24754,24756,24758,24760,24762],{"class":3753,"line":24745},274,[3751,24747,23207],{"class":3833},[3751,24749,3837],{"class":3761},[3751,24751,3840],{"class":3757},[3751,24753,22337],{"class":3811},[3751,24755,3601],{"class":3843},[3751,24757,22731],{"class":3811},[3751,24759,23220],{"class":3843},[3751,24761,23223],{"class":3811},[3751,24763,4605],{"class":3757},[3751,24765,24767,24769,24771],{"class":3753,"line":24766},275,[3751,24768,23395],{"class":3833},[3751,24770,3837],{"class":3761},[3751,24772,6649],{"class":3757},[3751,24774,24776,24778],{"class":3753,"line":24775},276,[3751,24777,14050],{"class":3825},[3751,24779,24780],{"class":3829},"Switch\n",[3751,24782,24784,24786,24788,24790,24792],{"class":3753,"line":24783},277,[3751,24785,24460],{"class":3833},[3751,24787,3837],{"class":3761},[3751,24789,3840],{"class":3757},[3751,24791,20158],{"class":3811},[3751,24793,4605],{"class":3757},[3751,24795,24797,24799,24801,24803,24805],{"class":3753,"line":24796},278,[3751,24798,24473],{"class":3833},[3751,24800,3837],{"class":3761},[3751,24802,3840],{"class":3757},[3751,24804,23120],{"class":3811},[3751,24806,4605],{"class":3757},[3751,24808,24810,24813,24815,24817],{"class":3753,"line":24809},279,[3751,24811,24812],{"class":3833},"                  trackColor",[3751,24814,3837],{"class":3761},[3751,24816,3840],{"class":3757},[3751,24818,6649],{"class":3843},[3751,24820,24822,24825,24827,24829,24831],{"class":3753,"line":24821},280,[3751,24823,24824],{"class":3811},"                    false:",[3751,24826,11021],{"class":3811},[3751,24828,3601],{"class":3843},[3751,24830,11482],{"class":3811},[3751,24832,6146],{"class":3843},[3751,24834,24836,24839,24841,24843,24845],{"class":3753,"line":24835},281,[3751,24837,24838],{"class":3811},"                    true:",[3751,24840,11021],{"class":3811},[3751,24842,3601],{"class":3843},[3751,24844,11055],{"class":3811},[3751,24846,6146],{"class":3843},[3751,24848,24850,24853],{"class":3753,"line":24849},282,[3751,24851,24852],{"class":3843},"                  }",[3751,24854,4605],{"class":3757},[3751,24856,24858,24861,24863,24865,24867,24869,24871],{"class":3753,"line":24857},283,[3751,24859,24860],{"class":3833},"                  thumbColor",[3751,24862,3837],{"class":3761},[3751,24864,3840],{"class":3757},[3751,24866,10934],{"class":3811},[3751,24868,3601],{"class":3843},[3751,24870,14084],{"class":3811},[3751,24872,4605],{"class":3757},[3751,24874,24876,24879,24881,24883,24885,24887,24889],{"class":3753,"line":24875},284,[3751,24877,24878],{"class":3833},"                  ios_backgroundColor",[3751,24880,3837],{"class":3761},[3751,24882,3840],{"class":3757},[3751,24884,10934],{"class":3811},[3751,24886,3601],{"class":3843},[3751,24888,11482],{"class":3811},[3751,24890,4605],{"class":3757},[3751,24892,24894],{"class":3753,"line":24893},285,[3751,24895,24537],{"class":3825},[3751,24897,24899],{"class":3753,"line":24898},286,[3751,24900,23700],{"class":3757},[3751,24902,24904],{"class":3753,"line":24903},287,[3751,24905,7244],{"class":3825},[3751,24907,24909,24911],{"class":3753,"line":24908},288,[3751,24910,23267],{"class":3843},[3751,24912,4605],{"class":3757},[3751,24914,24916],{"class":3753,"line":24915},289,[3751,24917,6813],{"class":3825},[3751,24919,24921],{"class":3753,"line":24920},290,[3751,24922,5213],{"emptyLinePlaceholder":5212},[3751,24924,24926,24928,24931],{"class":3753,"line":24925},291,[3751,24927,23067],{"class":3757},[3751,24929,24930],{"class":5471},"\u002F* ——— Checkbox (опційний прапорець) ——— *\u002F",[3751,24932,4605],{"class":3757},[3751,24934,24936,24938],{"class":3753,"line":24935},292,[3751,24937,4484],{"class":3825},[3751,24939,23079],{"class":3829},[3751,24941,24943,24945,24947,24949,24951],{"class":3753,"line":24942},293,[3751,24944,23084],{"class":3833},[3751,24946,3837],{"class":3761},[3751,24948,3840],{"class":3757},[3751,24950,23091],{"class":3811},[3751,24952,4605],{"class":3757},[3751,24954,24956,24958,24960],{"class":3753,"line":24955},294,[3751,24957,6765],{"class":3833},[3751,24959,3837],{"class":3761},[3751,24961,24962],{"class":3784},"\"hasItinerary\"\n",[3751,24964,24966,24968,24970,24972,24974,24976,24978,24980,24982,24984,24986,24988],{"class":3753,"line":24965},295,[3751,24967,23107],{"class":3833},[3751,24969,3837],{"class":3761},[3751,24971,3840],{"class":3757},[3751,24973,7670],{"class":3843},[3751,24975,4395],{"class":3811},[3751,24977,12094],{"class":3843},[3751,24979,23120],{"class":3811},[3751,24981,3640],{"class":3843},[3751,24983,20158],{"class":3811},[3751,24985,23132],{"class":3843},[3751,24987,3847],{"class":3757},[3751,24989,4458],{"class":3843},[3751,24991,24993,24995],{"class":3753,"line":24992},296,[3751,24994,7093],{"class":3825},[3751,24996,23346],{"class":3829},[3751,24998,25000,25002,25004],{"class":3753,"line":24999},297,[3751,25001,23148],{"class":3833},[3751,25003,3837],{"class":3761},[3751,25005,25006],{"class":3784},"\"Є план маршруту\"\n",[3751,25008,25010,25012,25014],{"class":3753,"line":25009},298,[3751,25011,23360],{"class":3833},[3751,25013,3837],{"class":3761},[3751,25015,25016],{"class":3784},"\"Checkbox: так \u002F ні, без обов’язковості\"\n",[3751,25018,25020,25022,25024,25026,25028,25030,25032,25034,25036],{"class":3753,"line":25019},299,[3751,25021,23207],{"class":3833},[3751,25023,3837],{"class":3761},[3751,25025,3840],{"class":3757},[3751,25027,22337],{"class":3811},[3751,25029,3601],{"class":3843},[3751,25031,22757],{"class":3811},[3751,25033,23220],{"class":3843},[3751,25035,23223],{"class":3811},[3751,25037,4605],{"class":3757},[3751,25039,25041,25043,25045],{"class":3753,"line":25040},300,[3751,25042,23395],{"class":3833},[3751,25044,3837],{"class":3761},[3751,25046,6649],{"class":3757},[3751,25048,25050,25052],{"class":3753,"line":25049},301,[3751,25051,14050],{"class":3825},[3751,25053,25054],{"class":3829},"Checkbox\n",[3751,25056,25058,25060,25062,25064,25066],{"class":3753,"line":25057},302,[3751,25059,24460],{"class":3833},[3751,25061,3837],{"class":3761},[3751,25063,3840],{"class":3757},[3751,25065,20158],{"class":3811},[3751,25067,4605],{"class":3757},[3751,25069,25071,25073,25075,25077,25079],{"class":3753,"line":25070},303,[3751,25072,24473],{"class":3833},[3751,25074,3837],{"class":3761},[3751,25076,3840],{"class":3757},[3751,25078,23120],{"class":3811},[3751,25080,4605],{"class":3757},[3751,25082,25084,25087,25089,25091],{"class":3753,"line":25083},304,[3751,25085,25086],{"class":3833},"                  tintColors",[3751,25088,3837],{"class":3761},[3751,25090,3840],{"class":3757},[3751,25092,6649],{"class":3843},[3751,25094,25096,25098,25100,25102,25104],{"class":3753,"line":25095},305,[3751,25097,24838],{"class":3811},[3751,25099,11021],{"class":3811},[3751,25101,3601],{"class":3843},[3751,25103,11055],{"class":3811},[3751,25105,6146],{"class":3843},[3751,25107,25109,25111,25113,25115,25117],{"class":3753,"line":25108},306,[3751,25110,24824],{"class":3811},[3751,25112,11021],{"class":3811},[3751,25114,3601],{"class":3843},[3751,25116,11482],{"class":3811},[3751,25118,6146],{"class":3843},[3751,25120,25122,25124],{"class":3753,"line":25121},307,[3751,25123,24852],{"class":3843},[3751,25125,4605],{"class":3757},[3751,25127,25129,25132,25134,25136,25138,25140,25142],{"class":3753,"line":25128},308,[3751,25130,25131],{"class":3833},"                  onCheckColor",[3751,25133,3837],{"class":3761},[3751,25135,3840],{"class":3757},[3751,25137,10934],{"class":3811},[3751,25139,3601],{"class":3843},[3751,25141,14084],{"class":3811},[3751,25143,4605],{"class":3757},[3751,25145,25147,25150,25152,25154,25156,25158,25160],{"class":3753,"line":25146},309,[3751,25148,25149],{"class":3833},"                  onFillColor",[3751,25151,3837],{"class":3761},[3751,25153,3840],{"class":3757},[3751,25155,10934],{"class":3811},[3751,25157,3601],{"class":3843},[3751,25159,11055],{"class":3811},[3751,25161,4605],{"class":3757},[3751,25163,25165,25168,25170,25172,25174,25176,25178],{"class":3753,"line":25164},310,[3751,25166,25167],{"class":3833},"                  onTintColor",[3751,25169,3837],{"class":3761},[3751,25171,3840],{"class":3757},[3751,25173,10934],{"class":3811},[3751,25175,3601],{"class":3843},[3751,25177,11055],{"class":3811},[3751,25179,4605],{"class":3757},[3751,25181,25183,25186,25188],{"class":3753,"line":25182},311,[3751,25184,25185],{"class":3833},"                  boxType",[3751,25187,3837],{"class":3761},[3751,25189,25190],{"class":3784},"\"square\"\n",[3751,25192,25194],{"class":3753,"line":25193},312,[3751,25195,24537],{"class":3825},[3751,25197,25199],{"class":3753,"line":25198},313,[3751,25200,23700],{"class":3757},[3751,25202,25204],{"class":3753,"line":25203},314,[3751,25205,7244],{"class":3825},[3751,25207,25209,25211],{"class":3753,"line":25208},315,[3751,25210,23267],{"class":3843},[3751,25212,4605],{"class":3757},[3751,25214,25216],{"class":3753,"line":25215},316,[3751,25217,6813],{"class":3825},[3751,25219,25221],{"class":3753,"line":25220},317,[3751,25222,5213],{"emptyLinePlaceholder":5212},[3751,25224,25226,25228,25231],{"class":3753,"line":25225},318,[3751,25227,23067],{"class":3757},[3751,25229,25230],{"class":5471},"\u002F* ——— Checkbox (обов’язкова згода) ——— *\u002F",[3751,25232,4605],{"class":3757},[3751,25234,25236,25238],{"class":3753,"line":25235},319,[3751,25237,4484],{"class":3825},[3751,25239,23079],{"class":3829},[3751,25241,25243,25245,25247,25249,25251],{"class":3753,"line":25242},320,[3751,25244,23084],{"class":3833},[3751,25246,3837],{"class":3761},[3751,25248,3840],{"class":3757},[3751,25250,23091],{"class":3811},[3751,25252,4605],{"class":3757},[3751,25254,25256,25258,25260],{"class":3753,"line":25255},321,[3751,25257,6765],{"class":3833},[3751,25259,3837],{"class":3761},[3751,25261,25262],{"class":3784},"\"acceptedLocalSave\"\n",[3751,25264,25266,25268,25270,25272,25274,25276,25278,25280,25282,25284,25286,25288],{"class":3753,"line":25265},322,[3751,25267,23107],{"class":3833},[3751,25269,3837],{"class":3761},[3751,25271,3840],{"class":3757},[3751,25273,7670],{"class":3843},[3751,25275,4395],{"class":3811},[3751,25277,12094],{"class":3843},[3751,25279,23120],{"class":3811},[3751,25281,3640],{"class":3843},[3751,25283,20158],{"class":3811},[3751,25285,23132],{"class":3843},[3751,25287,3847],{"class":3757},[3751,25289,4458],{"class":3843},[3751,25291,25293,25295],{"class":3753,"line":25292},323,[3751,25294,7093],{"class":3825},[3751,25296,23346],{"class":3829},[3751,25298,25300,25302,25304],{"class":3753,"line":25299},324,[3751,25301,23148],{"class":3833},[3751,25303,3837],{"class":3761},[3751,25305,25306],{"class":3784},"\"Згода на локальне збереження\"\n",[3751,25308,25310,25312,25314],{"class":3753,"line":25309},325,[3751,25311,23360],{"class":3833},[3751,25313,3837],{"class":3761},[3751,25315,25316],{"class":3784},"\"Поки немає API: дані лишаються в пам’яті застосунку\"\n",[3751,25318,25320,25322,25324,25326,25328,25330,25333,25335,25337],{"class":3753,"line":25319},326,[3751,25321,23207],{"class":3833},[3751,25323,3837],{"class":3761},[3751,25325,3840],{"class":3757},[3751,25327,22337],{"class":3811},[3751,25329,3601],{"class":3843},[3751,25331,25332],{"class":3811},"acceptedLocalSave",[3751,25334,23220],{"class":3843},[3751,25336,23223],{"class":3811},[3751,25338,4605],{"class":3757},[3751,25340,25342,25344,25346],{"class":3753,"line":25341},327,[3751,25343,23395],{"class":3833},[3751,25345,3837],{"class":3761},[3751,25347,6649],{"class":3757},[3751,25349,25351,25353],{"class":3753,"line":25350},328,[3751,25352,14050],{"class":3825},[3751,25354,25054],{"class":3829},[3751,25356,25358,25360,25362,25364,25367,25369,25371,25373],{"class":3753,"line":25357},329,[3751,25359,24460],{"class":3833},[3751,25361,3837],{"class":3761},[3751,25363,3840],{"class":3757},[3751,25365,25366],{"class":3777},"Boolean",[3751,25368,3853],{"class":3843},[3751,25370,20158],{"class":3811},[3751,25372,3858],{"class":3843},[3751,25374,4605],{"class":3757},[3751,25376,25378,25380,25382,25384,25386],{"class":3753,"line":25377},330,[3751,25379,24473],{"class":3833},[3751,25381,3837],{"class":3761},[3751,25383,3840],{"class":3757},[3751,25385,23120],{"class":3811},[3751,25387,4605],{"class":3757},[3751,25389,25391,25393,25395,25397],{"class":3753,"line":25390},331,[3751,25392,25086],{"class":3833},[3751,25394,3837],{"class":3761},[3751,25396,3840],{"class":3757},[3751,25398,6649],{"class":3843},[3751,25400,25402,25404,25406,25408,25410],{"class":3753,"line":25401},332,[3751,25403,24838],{"class":3811},[3751,25405,11021],{"class":3811},[3751,25407,3601],{"class":3843},[3751,25409,11055],{"class":3811},[3751,25411,6146],{"class":3843},[3751,25413,25415,25417,25419,25421,25423],{"class":3753,"line":25414},333,[3751,25416,24824],{"class":3811},[3751,25418,11021],{"class":3811},[3751,25420,3601],{"class":3843},[3751,25422,11482],{"class":3811},[3751,25424,6146],{"class":3843},[3751,25426,25428,25430],{"class":3753,"line":25427},334,[3751,25429,24852],{"class":3843},[3751,25431,4605],{"class":3757},[3751,25433,25435,25437,25439,25441,25443,25445,25447],{"class":3753,"line":25434},335,[3751,25436,25131],{"class":3833},[3751,25438,3837],{"class":3761},[3751,25440,3840],{"class":3757},[3751,25442,10934],{"class":3811},[3751,25444,3601],{"class":3843},[3751,25446,14084],{"class":3811},[3751,25448,4605],{"class":3757},[3751,25450,25452,25454,25456,25458,25460,25462,25464],{"class":3753,"line":25451},336,[3751,25453,25149],{"class":3833},[3751,25455,3837],{"class":3761},[3751,25457,3840],{"class":3757},[3751,25459,10934],{"class":3811},[3751,25461,3601],{"class":3843},[3751,25463,11055],{"class":3811},[3751,25465,4605],{"class":3757},[3751,25467,25469,25471,25473,25475,25477,25479,25481],{"class":3753,"line":25468},337,[3751,25470,25167],{"class":3833},[3751,25472,3837],{"class":3761},[3751,25474,3840],{"class":3757},[3751,25476,10934],{"class":3811},[3751,25478,3601],{"class":3843},[3751,25480,11055],{"class":3811},[3751,25482,4605],{"class":3757},[3751,25484,25486,25488,25490],{"class":3753,"line":25485},338,[3751,25487,25185],{"class":3833},[3751,25489,3837],{"class":3761},[3751,25491,25190],{"class":3784},[3751,25493,25495],{"class":3753,"line":25494},339,[3751,25496,24537],{"class":3825},[3751,25498,25500],{"class":3753,"line":25499},340,[3751,25501,23700],{"class":3757},[3751,25503,25505],{"class":3753,"line":25504},341,[3751,25506,7244],{"class":3825},[3751,25508,25510,25512],{"class":3753,"line":25509},342,[3751,25511,23267],{"class":3843},[3751,25513,4605],{"class":3757},[3751,25515,25517],{"class":3753,"line":25516},343,[3751,25518,6813],{"class":3825},[3751,25520,25522],{"class":3753,"line":25521},344,[3751,25523,5213],{"emptyLinePlaceholder":5212},[3751,25525,25527,25529,25532],{"class":3753,"line":25526},345,[3751,25528,23067],{"class":3757},[3751,25530,25531],{"class":5471},"\u002F* ——— Button (Pressable-обгортка з shared\u002Fui) ——— *\u002F",[3751,25533,4605],{"class":3757},[3751,25535,25537,25539,25541,25543,25545,25547,25549,25551,25553,25555,25557,25559,25561,25563,25565,25567,25569,25571],{"class":3753,"line":25536},346,[3751,25538,4484],{"class":3825},[3751,25540,7319],{"class":3829},[3751,25542,5301],{"class":3833},[3751,25544,3837],{"class":3761},[3751,25546,3840],{"class":3757},[3751,25548,4515],{"class":3843},[3751,25550,8630],{"class":3811},[3751,25552,12688],{"class":3811},[3751,25554,3601],{"class":3843},[3751,25556,12756],{"class":3811},[3751,25558,3640],{"class":3843},[3751,25560,8031],{"class":3811},[3751,25562,12688],{"class":3811},[3751,25564,3601],{"class":3843},[3751,25566,12756],{"class":3811},[3751,25568,4524],{"class":3843},[3751,25570,3861],{"class":3757},[3751,25572,4468],{"class":3825},[3751,25574,25576,25578],{"class":3753,"line":25575},347,[3751,25577,4494],{"class":3825},[3751,25579,14650],{"class":3829},[3751,25581,25583,25586,25588,25590,25592,25594,25597,25599,25602],{"class":3753,"line":25582},348,[3751,25584,25585],{"class":3833},"            label",[3751,25587,3837],{"class":3761},[3751,25589,3840],{"class":3757},[3751,25591,22281],{"class":3811},[3751,25593,10982],{"class":3761},[3751,25595,25596],{"class":3784}," 'Створюємо…'",[3751,25598,10988],{"class":3761},[3751,25600,25601],{"class":3784}," 'Створити поїздку'",[3751,25603,4605],{"class":3757},[3751,25605,25607,25610,25612,25614,25617,25619,25622,25624],{"class":3753,"line":25606},349,[3751,25608,25609],{"class":3833},"            onPress",[3751,25611,3837],{"class":3761},[3751,25613,3840],{"class":3757},[3751,25615,25616],{"class":3777},"handleSubmit",[3751,25618,3853],{"class":3843},[3751,25620,25621],{"class":3811},"onValid",[3751,25623,3858],{"class":3843},[3751,25625,4605],{"class":3757},[3751,25627,25629,25632,25634,25636,25638],{"class":3753,"line":25628},350,[3751,25630,25631],{"class":3833},"            disabled",[3751,25633,3837],{"class":3761},[3751,25635,3840],{"class":3757},[3751,25637,22281],{"class":3811},[3751,25639,4605],{"class":3757},[3751,25641,25643],{"class":3753,"line":25642},351,[3751,25644,12991],{"class":3825},[3751,25646,25648,25650,25653,25655],{"class":3753,"line":25647},352,[3751,25649,13660],{"class":3757},[3751,25651,25652],{"class":3811},"onCancel",[3751,25654,10982],{"class":3761},[3751,25656,4458],{"class":3843},[3751,25658,25660,25662],{"class":3753,"line":25659},353,[3751,25661,7093],{"class":3825},[3751,25663,14650],{"class":3829},[3751,25665,25667,25669,25671],{"class":3753,"line":25666},354,[3751,25668,23148],{"class":3833},[3751,25670,3837],{"class":3761},[3751,25672,25673],{"class":3784},"\"Скасувати\"\n",[3751,25675,25677,25680,25682],{"class":3753,"line":25676},355,[3751,25678,25679],{"class":3833},"              variant",[3751,25681,3837],{"class":3761},[3751,25683,25684],{"class":3784},"\"secondary\"\n",[3751,25686,25688,25691,25693,25695,25697],{"class":3753,"line":25687},356,[3751,25689,25690],{"class":3833},"              onPress",[3751,25692,3837],{"class":3761},[3751,25694,3840],{"class":3757},[3751,25696,25652],{"class":3811},[3751,25698,4605],{"class":3757},[3751,25700,25702,25705,25707,25709,25711],{"class":3753,"line":25701},357,[3751,25703,25704],{"class":3833},"              disabled",[3751,25706,3837],{"class":3761},[3751,25708,3840],{"class":3757},[3751,25710,22281],{"class":3811},[3751,25712,4605],{"class":3757},[3751,25714,25716],{"class":3753,"line":25715},358,[3751,25717,7244],{"class":3825},[3751,25719,25721,25724,25726],{"class":3753,"line":25720},359,[3751,25722,25723],{"class":3843},"          ) ",[3751,25725,5658],{"class":3761},[3751,25727,13011],{"class":3757},[3751,25729,25731,25733,25735],{"class":3753,"line":25730},360,[3751,25732,4569],{"class":3825},[3751,25734,7319],{"class":3829},[3751,25736,4468],{"class":3825},[3751,25738,25740,25742,25744],{"class":3753,"line":25739},361,[3751,25741,4579],{"class":3825},[3751,25743,8268],{"class":3829},[3751,25745,4468],{"class":3825},[3751,25747,25749,25751,25754],{"class":3753,"line":25748},362,[3751,25750,4589],{"class":3825},[3751,25752,25753],{"class":3829},"KeyboardAvoidingView",[3751,25755,4468],{"class":3825},[3751,25757,25759],{"class":3753,"line":25758},363,[3751,25760,4599],{"class":3761},[3751,25762,25764],{"class":3753,"line":25763},364,[3751,25765,4605],{"class":3761},[3751,25767,25769],{"class":3753,"line":25768},365,[3751,25770,5213],{"emptyLinePlaceholder":5212},[3751,25772,25774,25776,25779,25781,25784,25786,25788,25790,25792],{"class":3753,"line":25773},366,[3751,25775,10920],{"class":3757},[3751,25777,25778],{"class":3777}," daysWord",[3751,25780,3853],{"class":3761},[3751,25782,25783],{"class":3811},"n",[3751,25785,4806],{"class":3761},[3751,25787,18313],{"class":3829},[3751,25789,6483],{"class":3761},[3751,25791,6057],{"class":3829},[3751,25793,6493],{"class":3761},[3751,25795,25797,25799,25802,25804,25807,25809,25812,25814,25816,25819,25822],{"class":3753,"line":25796},367,[3751,25798,8859],{"class":3757},[3751,25800,25801],{"class":3765}," abs",[3751,25803,5457],{"class":3761},[3751,25805,25806],{"class":3811},"Math",[3751,25808,3601],{"class":3761},[3751,25810,25811],{"class":3777},"abs",[3751,25813,3853],{"class":3761},[3751,25815,25783],{"class":3811},[3751,25817,25818],{"class":3761},") % ",[3751,25820,25821],{"class":7005},"100",[3751,25823,3867],{"class":3761},[3751,25825,25827,25829,25832,25834,25836,25839,25841],{"class":3753,"line":25826},368,[3751,25828,8859],{"class":3757},[3751,25830,25831],{"class":3765}," last",[3751,25833,5457],{"class":3761},[3751,25835,25811],{"class":3811},[3751,25837,25838],{"class":3761}," % ",[3751,25840,18769],{"class":7005},[3751,25842,3867],{"class":3761},[3751,25844,25846,25848,25850,25852,25855,25857,25859,25861,25864,25867,25869,25871,25874],{"class":3753,"line":25845},369,[3751,25847,8955],{"class":3805},[3751,25849,3636],{"class":3761},[3751,25851,25811],{"class":3811},[3751,25853,25854],{"class":3761}," > ",[3751,25856,18769],{"class":7005},[3751,25858,19451],{"class":3761},[3751,25860,25811],{"class":3811},[3751,25862,25863],{"class":3761}," \u003C ",[3751,25865,25866],{"class":7005},"20",[3751,25868,3819],{"class":3761},[3751,25870,3822],{"class":3805},[3751,25872,25873],{"class":3784}," 'днів'",[3751,25875,3867],{"class":3761},[3751,25877,25879,25881,25883,25886,25888,25890,25892,25894,25897],{"class":3753,"line":25878},370,[3751,25880,8955],{"class":3805},[3751,25882,3636],{"class":3761},[3751,25884,25885],{"class":3811},"last",[3751,25887,3814],{"class":3761},[3751,25889,18887],{"class":7005},[3751,25891,3819],{"class":3761},[3751,25893,3822],{"class":3805},[3751,25895,25896],{"class":3784}," 'день'",[3751,25898,3867],{"class":3761},[3751,25900,25902,25904,25906,25908,25911,25913,25915,25917,25920,25922,25924,25926,25929],{"class":3753,"line":25901},371,[3751,25903,8955],{"class":3805},[3751,25905,3636],{"class":3761},[3751,25907,25885],{"class":3811},[3751,25909,25910],{"class":3761}," >= ",[3751,25912,15547],{"class":7005},[3751,25914,19451],{"class":3761},[3751,25916,25885],{"class":3811},[3751,25918,25919],{"class":3761}," \u003C= ",[3751,25921,24197],{"class":7005},[3751,25923,3819],{"class":3761},[3751,25925,3822],{"class":3805},[3751,25927,25928],{"class":3784}," 'дні'",[3751,25930,3867],{"class":3761},[3751,25932,25934,25936,25938],{"class":3753,"line":25933},372,[3751,25935,4455],{"class":3805},[3751,25937,25873],{"class":3784},[3751,25939,3867],{"class":3761},[3751,25941,25943],{"class":3753,"line":25942},373,[3751,25944,4605],{"class":3761},[3751,25946,25948],{"class":3753,"line":25947},374,[3751,25949,5213],{"emptyLinePlaceholder":5212},[3751,25951,25953,25955,25957,25959,25961,25963,25965],{"class":3753,"line":25952},375,[3751,25954,3758],{"class":3757},[3751,25956,7903],{"class":3765},[3751,25958,5457],{"class":3761},[3751,25960,7310],{"class":3811},[3751,25962,3601],{"class":3761},[3751,25964,7912],{"class":3777},[3751,25966,7915],{"class":3761},[3751,25968,25970,25973],{"class":3753,"line":25969},376,[3751,25971,25972],{"class":3811},"  flex:",[3751,25974,6493],{"class":3761},[3751,25976,25978,25980,25982],{"class":3753,"line":25977},377,[3751,25979,9402],{"class":3811},[3751,25981,7928],{"class":7005},[3751,25983,6146],{"class":3761},[3751,25985,25987],{"class":3753,"line":25986},378,[3751,25988,6198],{"class":3761},[3751,25990,25992,25995],{"class":3753,"line":25991},379,[3751,25993,25994],{"class":3811},"  content:",[3751,25996,6493],{"class":3761},[3751,25998,26000,26003,26005],{"class":3753,"line":25999},380,[3751,26001,26002],{"class":3811},"    flexGrow:",[3751,26004,7928],{"class":7005},[3751,26006,6146],{"class":3761},[3751,26008,26010],{"class":3753,"line":26009},381,[3751,26011,6198],{"class":3761},[3751,26013,26015,26018],{"class":3753,"line":26014},382,[3751,26016,26017],{"class":3811},"  multiline:",[3751,26019,6493],{"class":3761},[3751,26021,26023,26026,26029],{"class":3753,"line":26022},383,[3751,26024,26025],{"class":3811},"    minHeight:",[3751,26027,26028],{"class":7005}," 110",[3751,26030,6146],{"class":3761},[3751,26032,26034],{"class":3753,"line":26033},384,[3751,26035,6198],{"class":3761},[3751,26037,26039,26042],{"class":3753,"line":26038},385,[3751,26040,26041],{"class":3811},"  pickerWrap:",[3751,26043,6493],{"class":3761},[3751,26045,26047,26049,26051],{"class":3753,"line":26046},386,[3751,26048,8102],{"class":3811},[3751,26050,7928],{"class":7005},[3751,26052,6146],{"class":3761},[3751,26054,26056,26059,26062],{"class":3753,"line":26055},387,[3751,26057,26058],{"class":3811},"    overflow:",[3751,26060,26061],{"class":3784}," 'hidden'",[3751,26063,6146],{"class":3761},[3751,26065,26067],{"class":3753,"line":26066},388,[3751,26068,6198],{"class":3761},[3751,26070,26072],{"class":3753,"line":26071},389,[3751,26073,8240],{"class":3761},[3742,26075,26078],{"className":3744,"code":26076,"filename":26077,"language":3746,"meta":3747,"style":3747},"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",[3521,26079,26080,26096,26102,26109,26115,26121,26127,26133,26143,26152,26161,26172,26176,26192,26212,26216,26225,26236,26247,26268,26281,26292,26297,26308,26319,26323,26327,26331,26336,26341,26345,26356,26362,26368,26374,26380,26386,26392,26398,26407,26429,26453,26458,26482,26486,26504,26508,26522,26533,26544,26548,26552,26565,26575,26583,26587,26591,26604,26615,26622,26626,26630,26662,26667,26677,26700,26711,26715,26721,26725,26729,26759,26769,26780,26784,26788,26792,26810,26814,26820,26848,26876,26884,26892,26898,26907,26937,26951,26961,26971,26975,27001,27013,27026,27043,27055,27059,27065,27069,27089,27097,27108,27136,27144,27152,27160,27164,27173,27198,27205,27218,27228,27238,27252,27266,27280,27284,27292,27296,27315,27322,27335,27340,27350,27364,27368,27401,27407,27418,27430,27435,27448,27461,27475,27480,27487,27492,27498,27508,27519,27546,27552,27556,27582,27590,27596,27608,27617,27627,27640,27652,27665,27684,27688,27694,27704,27715,27739,27745,27749,27776,27809,27840,27848,27856,27864,27873,27881,27889,27893,27897,27901,27922,27958,27995,28012,28047,28051,28055,28071,28078,28086,28090,28097,28105,28114,28122,28126,28133,28141,28150,28154,28161,28170,28179,28187,28191,28198,28206,28210,28217,28225,28229,28236,28244,28252,28256],{"__ignoreMap":3747},[3751,26081,26082,26084,26086,26088,26090,26092,26094],{"class":3753,"line":3754},[3751,26083,5173],{"class":3805},[3751,26085,5176],{"class":3761},[3751,26087,3778],{"class":3811},[3751,26089,5181],{"class":3761},[3751,26091,5184],{"class":3805},[3751,26093,11874],{"class":3784},[3751,26095,3867],{"class":3761},[3751,26097,26098,26100],{"class":3753,"line":3802},[3751,26099,5173],{"class":3805},[3751,26101,6493],{"class":3761},[3751,26103,26104,26107],{"class":3753,"line":3870},[3751,26105,26106],{"class":3811},"  Modal",[3751,26108,6146],{"class":3761},[3751,26110,26111,26113],{"class":3753,"line":4471},[3751,26112,21702],{"class":3811},[3751,26114,6146],{"class":3761},[3751,26116,26117,26119],{"class":3753,"line":4481},[3751,26118,11894],{"class":3811},[3751,26120,6146],{"class":3761},[3751,26122,26123,26125],{"class":3753,"line":4491},[3751,26124,11908],{"class":3811},[3751,26126,6146],{"class":3761},[3751,26128,26129,26131],{"class":3753,"line":4532},[3751,26130,11915],{"class":3811},[3751,26132,6146],{"class":3761},[3751,26134,26135,26137,26139,26141],{"class":3753,"line":4566},[3751,26136,11922],{"class":3761},[3751,26138,5184],{"class":3805},[3751,26140,5205],{"class":3784},[3751,26142,3867],{"class":3761},[3751,26144,26145,26147,26150],{"class":3753,"line":4576},[3751,26146,5173],{"class":3805},[3751,26148,26149],{"class":3811}," DateTimePicker",[3751,26151,18720],{"class":3761},[3751,26153,26154,26156,26159],{"class":3753,"line":4586},[3751,26155,12005],{"class":3805},[3751,26157,26158],{"class":3811}," DateTimePickerEvent",[3751,26160,6146],{"class":3761},[3751,26162,26163,26165,26167,26170],{"class":3753,"line":4596},[3751,26164,11922],{"class":3761},[3751,26166,5184],{"class":3805},[3751,26168,26169],{"class":3784}," '@react-native-community\u002Fdatetimepicker'",[3751,26171,3867],{"class":3761},[3751,26173,26174],{"class":3753,"line":4602},[3751,26175,5213],{"emptyLinePlaceholder":5212},[3751,26177,26178,26180,26182,26184,26186,26188,26190],{"class":3753,"line":6159},[3751,26179,5173],{"class":3805},[3751,26181,5176],{"class":3761},[3751,26183,10882],{"class":3811},[3751,26185,5181],{"class":3761},[3751,26187,5184],{"class":3805},[3751,26189,10889],{"class":3784},[3751,26191,3867],{"class":3761},[3751,26193,26194,26196,26198,26200,26202,26204,26206,26208,26210],{"class":3753,"line":6170},[3751,26195,5173],{"class":3805},[3751,26197,5176],{"class":3761},[3751,26199,12062],{"class":3811},[3751,26201,3640],{"class":3761},[3751,26203,12067],{"class":3811},[3751,26205,5181],{"class":3761},[3751,26207,5184],{"class":3805},[3751,26209,12078],{"class":3784},[3751,26211,3867],{"class":3761},[3751,26213,26214],{"class":3753,"line":6181},[3751,26215,5213],{"emptyLinePlaceholder":5212},[3751,26217,26218,26220,26223],{"class":3753,"line":6187},[3751,26219,12042],{"class":3757},[3751,26221,26222],{"class":3829}," DateFieldProps",[3751,26224,6047],{"class":3761},[3751,26226,26227,26230,26232,26234],{"class":3753,"line":6195},[3751,26228,26229],{"class":3811},"  label",[3751,26231,4806],{"class":3761},[3751,26233,6057],{"class":3829},[3751,26235,3867],{"class":3761},[3751,26237,26238,26241,26243,26245],{"class":3753,"line":6201},[3751,26239,26240],{"class":3811},"  value",[3751,26242,4806],{"class":3761},[3751,26244,19219],{"class":3829},[3751,26246,3867],{"class":3761},[3751,26248,26249,26252,26254,26256,26258,26260,26262,26264,26266],{"class":3753,"line":6206},[3751,26250,26251],{"class":3777},"  onChange",[3751,26253,19821],{"class":3761},[3751,26255,18806],{"class":3811},[3751,26257,4806],{"class":3761},[3751,26259,19219],{"class":3829},[3751,26261,3819],{"class":3761},[3751,26263,3847],{"class":3757},[3751,26265,19834],{"class":3829},[3751,26267,3867],{"class":3761},[3751,26269,26270,26273,26275,26277,26279],{"class":3753,"line":6216},[3751,26271,26272],{"class":3777},"  onBlur",[3751,26274,22020],{"class":3761},[3751,26276,3847],{"class":3757},[3751,26278,19834],{"class":3829},[3751,26280,3867],{"class":3761},[3751,26282,26283,26286,26288,26290],{"class":3753,"line":6226},[3751,26284,26285],{"class":3811},"  error",[3751,26287,18294],{"class":3761},[3751,26289,6057],{"class":3829},[3751,26291,3867],{"class":3761},[3751,26293,26294],{"class":3753,"line":6236},[3751,26295,26296],{"class":5471},"  \u002F** Мінімальна дата (наприклад, endDate ≥ startDate). *\u002F\n",[3751,26298,26299,26302,26304,26306],{"class":3753,"line":6246},[3751,26300,26301],{"class":3811},"  minimumDate",[3751,26303,18294],{"class":3761},[3751,26305,19219],{"class":3829},[3751,26307,3867],{"class":3761},[3751,26309,26310,26313,26315,26317],{"class":3753,"line":6251},[3751,26311,26312],{"class":3811},"  maximumDate",[3751,26314,18294],{"class":3761},[3751,26316,19219],{"class":3829},[3751,26318,3867],{"class":3761},[3751,26320,26321],{"class":3753,"line":6259},[3751,26322,6108],{"class":3761},[3751,26324,26325],{"class":3753,"line":6264},[3751,26326,5213],{"emptyLinePlaceholder":5212},[3751,26328,26329],{"class":3753,"line":6269},[3751,26330,10900],{"class":5471},[3751,26332,26333],{"class":3753,"line":6279},[3751,26334,26335],{"class":5471}," * Поле дати: натискання відкриває системний date picker.\n",[3751,26337,26338],{"class":3753,"line":6289},[3751,26339,26340],{"class":5471}," * iOS — spinner у Modal; Android — нативний діалог.\n",[3751,26342,26343],{"class":3753,"line":6299},[3751,26344,10915],{"class":5471},[3751,26346,26347,26349,26351,26354],{"class":3753,"line":6309},[3751,26348,4438],{"class":3805},[3751,26350,4444],{"class":3757},[3751,26352,26353],{"class":3777}," DateField",[3751,26355,7915],{"class":3761},[3751,26357,26358,26360],{"class":3753,"line":6314},[3751,26359,26229],{"class":3811},[3751,26361,6146],{"class":3761},[3751,26363,26364,26366],{"class":3753,"line":6322},[3751,26365,26240],{"class":3811},[3751,26367,6146],{"class":3761},[3751,26369,26370,26372],{"class":3753,"line":6327},[3751,26371,26251],{"class":3811},[3751,26373,6146],{"class":3761},[3751,26375,26376,26378],{"class":3753,"line":6332},[3751,26377,26272],{"class":3811},[3751,26379,6146],{"class":3761},[3751,26381,26382,26384],{"class":3753,"line":6342},[3751,26383,26285],{"class":3811},[3751,26385,6146],{"class":3761},[3751,26387,26388,26390],{"class":3753,"line":6352},[3751,26389,26301],{"class":3811},[3751,26391,6146],{"class":3761},[3751,26393,26394,26396],{"class":3753,"line":6362},[3751,26395,26312],{"class":3811},[3751,26397,6146],{"class":3761},[3751,26399,26400,26402,26405],{"class":3753,"line":6372},[3751,26401,22244],{"class":3761},[3751,26403,26404],{"class":3829},"DateFieldProps",[3751,26406,8964],{"class":3761},[3751,26408,26409,26411,26413,26415,26417,26419,26421,26423,26425,26427],{"class":3753,"line":6377},[3751,26410,8859],{"class":3757},[3751,26412,5176],{"class":3761},[3751,26414,10934],{"class":3765},[3751,26416,3640],{"class":3761},[3751,26418,12236],{"class":3765},[3751,26420,3640],{"class":3761},[3751,26422,22266],{"class":3765},[3751,26424,8866],{"class":3761},[3751,26426,10882],{"class":3777},[3751,26428,5462],{"class":3761},[3751,26430,26431,26433,26435,26438,26440,26443,26445,26447,26449,26451],{"class":3753,"line":6385},[3751,26432,8859],{"class":3757},[3751,26434,3762],{"class":3761},[3751,26436,26437],{"class":3765},"open",[3751,26439,3640],{"class":3761},[3751,26441,26442],{"class":3765},"setOpen",[3751,26444,3774],{"class":3761},[3751,26446,3778],{"class":3777},[3751,26448,3853],{"class":3761},[3751,26450,4844],{"class":3757},[3751,26452,3799],{"class":3761},[3751,26454,26455],{"class":3753,"line":6390},[3751,26456,26457],{"class":5471},"  \u002F** Тимчасове значення на iOS, поки користувач крутить spinner. *\u002F\n",[3751,26459,26460,26462,26464,26467,26469,26472,26474,26476,26478,26480],{"class":3753,"line":6395},[3751,26461,8859],{"class":3757},[3751,26463,3762],{"class":3761},[3751,26465,26466],{"class":3765},"draft",[3751,26468,3640],{"class":3761},[3751,26470,26471],{"class":3765},"setDraft",[3751,26473,3774],{"class":3761},[3751,26475,3778],{"class":3777},[3751,26477,3853],{"class":3761},[3751,26479,20158],{"class":3811},[3751,26481,3799],{"class":3761},[3751,26483,26484],{"class":3753,"line":6405},[3751,26485,5213],{"emptyLinePlaceholder":5212},[3751,26487,26488,26490,26493,26495,26497,26499,26502],{"class":3753,"line":6415},[3751,26489,8859],{"class":3757},[3751,26491,26492],{"class":3765}," hasError",[3751,26494,5457],{"class":3761},[3751,26496,25366],{"class":3777},[3751,26498,3853],{"class":3761},[3751,26500,26501],{"class":3811},"error",[3751,26503,3799],{"class":3761},[3751,26505,26506],{"class":3753,"line":6425},[3751,26507,5213],{"emptyLinePlaceholder":5212},[3751,26509,26510,26512,26515,26518,26520],{"class":3753,"line":6435},[3751,26511,8859],{"class":3757},[3751,26513,26514],{"class":3777}," openPicker",[3751,26516,26517],{"class":3761}," = () ",[3751,26519,3847],{"class":3757},[3751,26521,6493],{"class":3761},[3751,26523,26524,26527,26529,26531],{"class":3753,"line":6440},[3751,26525,26526],{"class":3777},"    setDraft",[3751,26528,3853],{"class":3761},[3751,26530,20158],{"class":3811},[3751,26532,3799],{"class":3761},[3751,26534,26535,26538,26540,26542],{"class":3753,"line":6448},[3751,26536,26537],{"class":3777},"    setOpen",[3751,26539,3853],{"class":3761},[3751,26541,4848],{"class":3757},[3751,26543,3799],{"class":3761},[3751,26545,26546],{"class":3753,"line":6453},[3751,26547,22790],{"class":3761},[3751,26549,26550],{"class":3753,"line":6459},[3751,26551,5213],{"emptyLinePlaceholder":5212},[3751,26553,26554,26556,26559,26561,26563],{"class":3753,"line":6464},[3751,26555,8859],{"class":3757},[3751,26557,26558],{"class":3777}," closePicker",[3751,26560,26517],{"class":3761},[3751,26562,3847],{"class":3757},[3751,26564,6493],{"class":3761},[3751,26566,26567,26569,26571,26573],{"class":3753,"line":6496},[3751,26568,26537],{"class":3777},[3751,26570,3853],{"class":3761},[3751,26572,4844],{"class":3757},[3751,26574,3799],{"class":3761},[3751,26576,26577,26580],{"class":3753,"line":6531},[3751,26578,26579],{"class":3777},"    onBlur",[3751,26581,26582],{"class":3761},"?.();\n",[3751,26584,26585],{"class":3753,"line":8184},[3751,26586,22790],{"class":3761},[3751,26588,26589],{"class":3753,"line":8192},[3751,26590,5213],{"emptyLinePlaceholder":5212},[3751,26592,26593,26595,26598,26600,26602],{"class":3753,"line":8202},[3751,26594,8859],{"class":3757},[3751,26596,26597],{"class":3777}," applyIos",[3751,26599,26517],{"class":3761},[3751,26601,3847],{"class":3757},[3751,26603,6493],{"class":3761},[3751,26605,26606,26609,26611,26613],{"class":3753,"line":8212},[3751,26607,26608],{"class":3777},"    onChange",[3751,26610,3853],{"class":3761},[3751,26612,26466],{"class":3811},[3751,26614,3799],{"class":3761},[3751,26616,26617,26620],{"class":3753,"line":8222},[3751,26618,26619],{"class":3777},"    closePicker",[3751,26621,5462],{"class":3761},[3751,26623,26624],{"class":3753,"line":8232},[3751,26625,22790],{"class":3761},[3751,26627,26628],{"class":3753,"line":8237},[3751,26629,5213],{"emptyLinePlaceholder":5212},[3751,26631,26632,26634,26637,26639,26642,26644,26647,26649,26652,26654,26656,26658,26660],{"class":3753,"line":12660},[3751,26633,8859],{"class":3757},[3751,26635,26636],{"class":3777}," onAndroidChange",[3751,26638,18497],{"class":3761},[3751,26640,26641],{"class":3811},"event",[3751,26643,4806],{"class":3761},[3751,26645,26646],{"class":3829},"DateTimePickerEvent",[3751,26648,3640],{"class":3761},[3751,26650,26651],{"class":3811},"selected",[3751,26653,18294],{"class":3761},[3751,26655,19219],{"class":3829},[3751,26657,3819],{"class":3761},[3751,26659,3847],{"class":3757},[3751,26661,6493],{"class":3761},[3751,26663,26664],{"class":3753,"line":12671},[3751,26665,26666],{"class":5471},"    \u002F\u002F Android закриває діалог сам; event.type: set | dismissed\n",[3751,26668,26669,26671,26673,26675],{"class":3753,"line":12713},[3751,26670,26537],{"class":3777},[3751,26672,3853],{"class":3761},[3751,26674,4844],{"class":3757},[3751,26676,3799],{"class":3761},[3751,26678,26679,26681,26683,26685,26687,26689,26691,26694,26696,26698],{"class":3753,"line":12735},[3751,26680,19466],{"class":3805},[3751,26682,3636],{"class":3761},[3751,26684,26641],{"class":3811},[3751,26686,3601],{"class":3761},[3751,26688,12042],{"class":3811},[3751,26690,3814],{"class":3761},[3751,26692,26693],{"class":3784},"'set'",[3751,26695,19451],{"class":3761},[3751,26697,26651],{"class":3811},[3751,26699,8964],{"class":3761},[3751,26701,26702,26705,26707,26709],{"class":3753,"line":12765},[3751,26703,26704],{"class":3777},"      onChange",[3751,26706,3853],{"class":3761},[3751,26708,26651],{"class":3811},[3751,26710,3799],{"class":3761},[3751,26712,26713],{"class":3753,"line":12799},[3751,26714,10703],{"class":3761},[3751,26716,26717,26719],{"class":3753,"line":12806},[3751,26718,26579],{"class":3777},[3751,26720,26582],{"class":3761},[3751,26722,26723],{"class":3753,"line":12812},[3751,26724,22790],{"class":3761},[3751,26726,26727],{"class":3753,"line":12826},[3751,26728,5213],{"emptyLinePlaceholder":5212},[3751,26730,26731,26733,26736,26738,26741,26743,26745,26747,26749,26751,26753,26755,26757],{"class":3753,"line":12852},[3751,26732,8859],{"class":3757},[3751,26734,26735],{"class":3777}," onIosChange",[3751,26737,18497],{"class":3761},[3751,26739,26740],{"class":3811},"_event",[3751,26742,4806],{"class":3761},[3751,26744,26646],{"class":3829},[3751,26746,3640],{"class":3761},[3751,26748,26651],{"class":3811},[3751,26750,18294],{"class":3761},[3751,26752,19219],{"class":3829},[3751,26754,3819],{"class":3761},[3751,26756,3847],{"class":3757},[3751,26758,6493],{"class":3761},[3751,26760,26761,26763,26765,26767],{"class":3753,"line":12872},[3751,26762,19466],{"class":3805},[3751,26764,3636],{"class":3761},[3751,26766,26651],{"class":3811},[3751,26768,8964],{"class":3761},[3751,26770,26771,26774,26776,26778],{"class":3753,"line":12904},[3751,26772,26773],{"class":3777},"      setDraft",[3751,26775,3853],{"class":3761},[3751,26777,26651],{"class":3811},[3751,26779,3799],{"class":3761},[3751,26781,26782],{"class":3753,"line":12912},[3751,26783,10703],{"class":3761},[3751,26785,26786],{"class":3753,"line":12923},[3751,26787,22790],{"class":3761},[3751,26789,26790],{"class":3753,"line":12966},[3751,26791,5213],{"emptyLinePlaceholder":5212},[3751,26793,26794,26796,26799,26801,26804,26806,26808],{"class":3753,"line":12988},[3751,26795,8859],{"class":3757},[3751,26797,26798],{"class":3765}," display",[3751,26800,5457],{"class":3761},[3751,26802,26803],{"class":3777},"formatDisplay",[3751,26805,3853],{"class":3761},[3751,26807,20158],{"class":3811},[3751,26809,3799],{"class":3761},[3751,26811,26812],{"class":3753,"line":12994},[3751,26813,5213],{"emptyLinePlaceholder":5212},[3751,26815,26816,26818],{"class":3753,"line":13003},[3751,26817,4455],{"class":3805},[3751,26819,4458],{"class":3761},[3751,26821,26822,26824,26826,26828,26830,26832,26834,26836,26838,26840,26842,26844,26846],{"class":3753,"line":13014},[3751,26823,4463],{"class":3825},[3751,26825,7319],{"class":3829},[3751,26827,5301],{"class":3833},[3751,26829,3837],{"class":3761},[3751,26831,3840],{"class":3757},[3751,26833,4515],{"class":3843},[3751,26835,8630],{"class":3811},[3751,26837,12688],{"class":3811},[3751,26839,3601],{"class":3843},[3751,26841,13443],{"class":3811},[3751,26843,4524],{"class":3843},[3751,26845,3861],{"class":3757},[3751,26847,4468],{"class":3825},[3751,26849,26850,26852,26854,26856,26858,26860,26862,26864,26866,26868,26870,26872,26874],{"class":3753,"line":13019},[3751,26851,4474],{"class":3825},[3751,26853,12062],{"class":3829},[3751,26855,13190],{"class":3833},[3751,26857,3837],{"class":3761},[3751,26859,13517],{"class":3784},[3751,26861,5301],{"class":3833},[3751,26863,3837],{"class":3761},[3751,26865,3840],{"class":3757},[3751,26867,5308],{"class":3811},[3751,26869,3601],{"class":3843},[3751,26871,12107],{"class":3811},[3751,26873,3861],{"class":3757},[3751,26875,4468],{"class":3825},[3751,26877,26878,26880,26882],{"class":3753,"line":13053},[3751,26879,23067],{"class":3757},[3751,26881,12107],{"class":3811},[3751,26883,4605],{"class":3757},[3751,26885,26886,26888,26890],{"class":3753,"line":13062},[3751,26887,4579],{"class":3825},[3751,26889,12062],{"class":3829},[3751,26891,4468],{"class":3825},[3751,26893,26894,26896],{"class":3753,"line":13067},[3751,26895,4474],{"class":3825},[3751,26897,13846],{"class":3829},[3751,26899,26900,26903,26905],{"class":3753,"line":13072},[3751,26901,26902],{"class":3833},"        accessibilityRole",[3751,26904,3837],{"class":3761},[3751,26906,13990],{"class":3784},[3751,26908,26909,26912,26914,26916,26918,26920,26922,26924,26926,26928,26931,26933,26935],{"class":3753,"line":13082},[3751,26910,26911],{"class":3833},"        accessibilityLabel",[3751,26913,3837],{"class":3761},[3751,26915,3840],{"class":3757},[3751,26917,7707],{"class":3784},[3751,26919,7696],{"class":3757},[3751,26921,12107],{"class":3811},[3751,26923,3861],{"class":3757},[3751,26925,4806],{"class":3784},[3751,26927,7696],{"class":3757},[3751,26929,26930],{"class":3811},"display",[3751,26932,3861],{"class":3757},[3751,26934,7707],{"class":3784},[3751,26936,4605],{"class":3757},[3751,26938,26939,26942,26944,26946,26949],{"class":3753,"line":13090},[3751,26940,26941],{"class":3833},"        onPress",[3751,26943,3837],{"class":3761},[3751,26945,3840],{"class":3757},[3751,26947,26948],{"class":3811},"openPicker",[3751,26950,4605],{"class":3757},[3751,26952,26953,26955,26957,26959],{"class":3753,"line":13103},[3751,26954,13270],{"class":3833},[3751,26956,3837],{"class":3761},[3751,26958,3840],{"class":3757},[3751,26960,13100],{"class":3843},[3751,26962,26963,26965,26967,26969],{"class":3753,"line":13116},[3751,26964,13376],{"class":3811},[3751,26966,3601],{"class":3843},[3751,26968,4395],{"class":3811},[3751,26970,6146],{"class":3843},[3751,26972,26973],{"class":3753,"line":13122},[3751,26974,13388],{"class":3843},[3751,26976,26977,26980,26982,26984,26986,26988,26991,26993,26995,26997,26999],{"class":3753,"line":13136},[3751,26978,26979],{"class":3811},"            borderColor:",[3751,26981,26492],{"class":3811},[3751,26983,10982],{"class":3761},[3751,26985,11021],{"class":3811},[3751,26987,3601],{"class":3843},[3751,26989,26990],{"class":3811},"danger",[3751,26992,10988],{"class":3761},[3751,26994,11021],{"class":3811},[3751,26996,3601],{"class":3843},[3751,26998,11482],{"class":3811},[3751,27000,6146],{"class":3843},[3751,27002,27003,27005,27007,27009,27011],{"class":3753,"line":13151},[3751,27004,14617],{"class":3811},[3751,27006,11021],{"class":3811},[3751,27008,3601],{"class":3843},[3751,27010,13949],{"class":3811},[3751,27012,6146],{"class":3843},[3751,27014,27015,27018,27020,27022,27024],{"class":3753,"line":13165},[3751,27016,27017],{"class":3811},"            borderRadius:",[3751,27019,23487],{"class":3811},[3751,27021,3601],{"class":3843},[3751,27023,12693],{"class":3811},[3751,27025,6146],{"class":3843},[3751,27027,27028,27031,27033,27035,27037,27039,27041],{"class":3753,"line":13170},[3751,27029,27030],{"class":3811},"            paddingVertical:",[3751,27032,12688],{"class":3811},[3751,27034,3601],{"class":3843},[3751,27036,12756],{"class":3811},[3751,27038,17295],{"class":3761},[3751,27040,8034],{"class":7005},[3751,27042,6146],{"class":3843},[3751,27044,27045,27047,27049,27051,27053],{"class":3753,"line":13178},[3751,27046,13394],{"class":3811},[3751,27048,12688],{"class":3811},[3751,27050,3601],{"class":3843},[3751,27052,12693],{"class":3811},[3751,27054,6146],{"class":3843},[3751,27056,27057],{"class":3753,"line":13183},[3751,27058,13465],{"class":3843},[3751,27060,27061,27063],{"class":3753,"line":13215},[3751,27062,13471],{"class":3843},[3751,27064,4605],{"class":3757},[3751,27066,27067],{"class":3753,"line":13221},[3751,27068,6723],{"class":3825},[3751,27070,27071,27073,27075,27077,27079,27081,27083,27085,27087],{"class":3753,"line":13230},[3751,27072,4484],{"class":3825},[3751,27074,12062],{"class":3829},[3751,27076,5239],{"class":3825},[3751,27078,3840],{"class":3757},[3751,27080,26930],{"class":3811},[3751,27082,3861],{"class":3757},[3751,27084,5245],{"class":3825},[3751,27086,12062],{"class":3829},[3751,27088,4468],{"class":3825},[3751,27090,27091,27093,27095],{"class":3753,"line":13238},[3751,27092,4579],{"class":3825},[3751,27094,5298],{"class":3829},[3751,27096,4468],{"class":3825},[3751,27098,27099,27101,27104,27106],{"class":3753,"line":13249},[3751,27100,12716],{"class":3757},[3751,27102,27103],{"class":3811},"hasError",[3751,27105,10982],{"class":3761},[3751,27107,4458],{"class":3843},[3751,27109,27110,27112,27114,27116,27118,27120,27122,27124,27126,27128,27130,27132,27134],{"class":3753,"line":13267},[3751,27111,4484],{"class":3825},[3751,27113,12062],{"class":3829},[3751,27115,13190],{"class":3833},[3751,27117,3837],{"class":3761},[3751,27119,13517],{"class":3784},[3751,27121,7116],{"class":3833},[3751,27123,3837],{"class":3761},[3751,27125,3840],{"class":3757},[3751,27127,10934],{"class":3811},[3751,27129,3601],{"class":3843},[3751,27131,26990],{"class":3811},[3751,27133,3861],{"class":3757},[3751,27135,4468],{"class":3825},[3751,27137,27138,27140,27142],{"class":3753,"line":13286},[3751,27139,13660],{"class":3757},[3751,27141,26501],{"class":3811},[3751,27143,4605],{"class":3757},[3751,27145,27146,27148,27150],{"class":3753,"line":13291},[3751,27147,4569],{"class":3825},[3751,27149,12062],{"class":3829},[3751,27151,4468],{"class":3825},[3751,27153,27154,27156,27158],{"class":3753,"line":13297},[3751,27155,13006],{"class":3843},[3751,27157,5658],{"class":3761},[3751,27159,13011],{"class":3757},[3751,27161,27162],{"class":3753,"line":13306},[3751,27163,5213],{"emptyLinePlaceholder":5212},[3751,27165,27166,27168,27171],{"class":3753,"line":13315},[3751,27167,12716],{"class":3757},[3751,27169,27170],{"class":5471},"\u002F* Android: системний діалог; iOS\u002Fweb: spinner у Modal *\u002F",[3751,27172,4605],{"class":3757},[3751,27174,27175,27177,27179,27181,27183,27185,27188,27191,27194,27196],{"class":3753,"line":13320},[3751,27176,12716],{"class":3757},[3751,27178,22836],{"class":3811},[3751,27180,3601],{"class":3843},[3751,27182,22841],{"class":3765},[3751,27184,10976],{"class":3761},[3751,27186,27187],{"class":3784}," 'android'",[3751,27189,27190],{"class":3761}," &&",[3751,27192,27193],{"class":3811}," open",[3751,27195,10982],{"class":3761},[3751,27197,4458],{"class":3843},[3751,27199,27200,27202],{"class":3753,"line":13325},[3751,27201,4484],{"class":3825},[3751,27203,27204],{"class":3829},"DateTimePicker\n",[3751,27206,27207,27210,27212,27214,27216],{"class":3753,"line":13332},[3751,27208,27209],{"class":3833},"          value",[3751,27211,3837],{"class":3761},[3751,27213,3840],{"class":3757},[3751,27215,20158],{"class":3811},[3751,27217,4605],{"class":3757},[3751,27219,27220,27223,27225],{"class":3753,"line":13355},[3751,27221,27222],{"class":3833},"          mode",[3751,27224,3837],{"class":3761},[3751,27226,27227],{"class":3784},"\"date\"\n",[3751,27229,27230,27233,27235],{"class":3753,"line":13362},[3751,27231,27232],{"class":3833},"          display",[3751,27234,3837],{"class":3761},[3751,27236,27237],{"class":3784},"\"default\"\n",[3751,27239,27240,27243,27245,27247,27250],{"class":3753,"line":13373},[3751,27241,27242],{"class":3833},"          onChange",[3751,27244,3837],{"class":3761},[3751,27246,3840],{"class":3757},[3751,27248,27249],{"class":3811},"onAndroidChange",[3751,27251,4605],{"class":3757},[3751,27253,27254,27257,27259,27261,27264],{"class":3753,"line":13385},[3751,27255,27256],{"class":3833},"          minimumDate",[3751,27258,3837],{"class":3761},[3751,27260,3840],{"class":3757},[3751,27262,27263],{"class":3811},"minimumDate",[3751,27265,4605],{"class":3757},[3751,27267,27268,27271,27273,27275,27278],{"class":3753,"line":13391},[3751,27269,27270],{"class":3833},"          maximumDate",[3751,27272,3837],{"class":3761},[3751,27274,3840],{"class":3757},[3751,27276,27277],{"class":3811},"maximumDate",[3751,27279,4605],{"class":3757},[3751,27281,27282],{"class":3753,"line":13405},[3751,27283,6813],{"class":3825},[3751,27285,27286,27288,27290],{"class":3753,"line":13419},[3751,27287,13006],{"class":3843},[3751,27289,5658],{"class":3761},[3751,27291,13011],{"class":3757},[3751,27293,27294],{"class":3753,"line":13433},[3751,27295,5213],{"emptyLinePlaceholder":5212},[3751,27297,27298,27300,27302,27304,27306,27309,27311,27313],{"class":3753,"line":13448},[3751,27299,12716],{"class":3757},[3751,27301,22836],{"class":3811},[3751,27303,3601],{"class":3843},[3751,27305,22841],{"class":3765},[3751,27307,27308],{"class":3761}," !==",[3751,27310,27187],{"class":3784},[3751,27312,10982],{"class":3761},[3751,27314,4458],{"class":3843},[3751,27316,27317,27319],{"class":3753,"line":13462},[3751,27318,4484],{"class":3825},[3751,27320,27321],{"class":3829},"Modal\n",[3751,27323,27324,27327,27329,27331,27333],{"class":3753,"line":13468},[3751,27325,27326],{"class":3833},"          visible",[3751,27328,3837],{"class":3761},[3751,27330,3840],{"class":3757},[3751,27332,26437],{"class":3811},[3751,27334,4605],{"class":3757},[3751,27336,27337],{"class":3753,"line":13476},[3751,27338,27339],{"class":3833},"          transparent\n",[3751,27341,27342,27345,27347],{"class":3753,"line":13481},[3751,27343,27344],{"class":3833},"          animationType",[3751,27346,3837],{"class":3761},[3751,27348,27349],{"class":3784},"\"slide\"\n",[3751,27351,27352,27355,27357,27359,27362],{"class":3753,"line":13506},[3751,27353,27354],{"class":3833},"          onRequestClose",[3751,27356,3837],{"class":3761},[3751,27358,3840],{"class":3757},[3751,27360,27361],{"class":3811},"closePicker",[3751,27363,4605],{"class":3757},[3751,27365,27366],{"class":3753,"line":13542},[3751,27367,13654],{"class":3825},[3751,27369,27370,27372,27374,27376,27378,27380,27382,27384,27387,27389,27391,27393,27395,27397,27399],{"class":3753,"line":13568},[3751,27371,4494],{"class":3825},[3751,27373,5298],{"class":3829},[3751,27375,5301],{"class":3833},[3751,27377,3837],{"class":3761},[3751,27379,3840],{"class":3757},[3751,27381,5308],{"class":3811},[3751,27383,3601],{"class":3843},[3751,27385,27386],{"class":3811},"backdrop",[3751,27388,3861],{"class":3757},[3751,27390,12587],{"class":3833},[3751,27392,3837],{"class":3761},[3751,27394,3840],{"class":3757},[3751,27396,27361],{"class":3811},[3751,27398,3861],{"class":3757},[3751,27400,4529],{"class":3825},[3751,27402,27403,27405],{"class":3753,"line":13577},[3751,27404,4494],{"class":3825},[3751,27406,13087],{"class":3829},[3751,27408,27409,27412,27414,27416],{"class":3753,"line":13584},[3751,27410,27411],{"class":3833},"            style",[3751,27413,3837],{"class":3761},[3751,27415,3840],{"class":3757},[3751,27417,13100],{"class":3843},[3751,27419,27420,27423,27425,27428],{"class":3753,"line":13594},[3751,27421,27422],{"class":3811},"              styles",[3751,27424,3601],{"class":3843},[3751,27426,27427],{"class":3811},"sheet",[3751,27429,6146],{"class":3843},[3751,27431,27432],{"class":3753,"line":13606},[3751,27433,27434],{"class":3843},"              {\n",[3751,27436,27437,27440,27442,27444,27446],{"class":3753,"line":13620},[3751,27438,27439],{"class":3811},"                backgroundColor:",[3751,27441,11021],{"class":3811},[3751,27443,3601],{"class":3843},[3751,27445,13949],{"class":3811},[3751,27447,6146],{"class":3843},[3751,27449,27450,27453,27455,27457,27459],{"class":3753,"line":13634},[3751,27451,27452],{"class":3811},"                borderColor:",[3751,27454,11021],{"class":3811},[3751,27456,3601],{"class":3843},[3751,27458,11482],{"class":3811},[3751,27460,6146],{"class":3843},[3751,27462,27463,27466,27468,27470,27473],{"class":3753,"line":13644},[3751,27464,27465],{"class":3811},"                paddingBottom:",[3751,27467,12688],{"class":3811},[3751,27469,3601],{"class":3843},[3751,27471,27472],{"class":3811},"lg",[3751,27474,6146],{"class":3843},[3751,27476,27477],{"class":3753,"line":13651},[3751,27478,27479],{"class":3843},"              },\n",[3751,27481,27482,27485],{"class":3753,"line":13657},[3751,27483,27484],{"class":3843},"            ]",[3751,27486,4605],{"class":3757},[3751,27488,27489],{"class":3753,"line":13674},[3751,27490,27491],{"class":3825},"          >\n",[3751,27493,27494,27496],{"class":3753,"line":13709},[3751,27495,7093],{"class":3825},[3751,27497,13087],{"class":3829},[3751,27499,27500,27502,27504,27506],{"class":3753,"line":13720},[3751,27501,17245],{"class":3833},[3751,27503,3837],{"class":3761},[3751,27505,3840],{"class":3757},[3751,27507,13100],{"class":3843},[3751,27509,27510,27512,27514,27517],{"class":3753,"line":13729},[3751,27511,17256],{"class":3811},[3751,27513,3601],{"class":3843},[3751,27515,27516],{"class":3811},"sheetHeader",[3751,27518,6146],{"class":3843},[3751,27520,27521,27524,27527,27529,27531,27533,27535,27538,27540,27542,27544],{"class":3753,"line":13734},[3751,27522,27523],{"class":3843},"                { ",[3751,27525,27526],{"class":3811},"paddingHorizontal:",[3751,27528,12688],{"class":3811},[3751,27530,3601],{"class":3843},[3751,27532,12693],{"class":3811},[3751,27534,3640],{"class":3843},[3751,27536,27537],{"class":3811},"paddingTop:",[3751,27539,12688],{"class":3811},[3751,27541,3601],{"class":3843},[3751,27543,12693],{"class":3811},[3751,27545,6665],{"class":3843},[3751,27547,27548,27550],{"class":3753,"line":13784},[3751,27549,17318],{"class":3843},[3751,27551,4605],{"class":3757},[3751,27553,27554],{"class":3753,"line":13807},[3751,27555,17325],{"class":3825},[3751,27557,27558,27560,27562,27564,27566,27568,27570,27572,27574,27576,27578,27580],{"class":3753,"line":13833},[3751,27559,7740],{"class":3825},[3751,27561,12062],{"class":3829},[3751,27563,13190],{"class":3833},[3751,27565,3837],{"class":3761},[3751,27567,13195],{"class":3784},[3751,27569,5239],{"class":3825},[3751,27571,3840],{"class":3757},[3751,27573,12107],{"class":3811},[3751,27575,3861],{"class":3757},[3751,27577,5245],{"class":3825},[3751,27579,12062],{"class":3829},[3751,27581,4468],{"class":3825},[3751,27583,27584,27586,27588],{"class":3753,"line":13841},[3751,27585,7852],{"class":3825},[3751,27587,7319],{"class":3829},[3751,27589,4468],{"class":3825},[3751,27591,27592,27594],{"class":3753,"line":13849},[3751,27593,7093],{"class":3825},[3751,27595,27204],{"class":3829},[3751,27597,27598,27600,27602,27604,27606],{"class":3753,"line":13867},[3751,27599,23168],{"class":3833},[3751,27601,3837],{"class":3761},[3751,27603,3840],{"class":3757},[3751,27605,26466],{"class":3811},[3751,27607,4605],{"class":3757},[3751,27609,27610,27613,27615],{"class":3753,"line":13896},[3751,27611,27612],{"class":3833},"              mode",[3751,27614,3837],{"class":3761},[3751,27616,27227],{"class":3784},[3751,27618,27619,27622,27624],{"class":3753,"line":13908},[3751,27620,27621],{"class":3833},"              display",[3751,27623,3837],{"class":3761},[3751,27625,27626],{"class":3784},"\"spinner\"\n",[3751,27628,27629,27631,27633,27635,27638],{"class":3753,"line":13921},[3751,27630,23817],{"class":3833},[3751,27632,3837],{"class":3761},[3751,27634,3840],{"class":3757},[3751,27636,27637],{"class":3811},"onIosChange",[3751,27639,4605],{"class":3757},[3751,27641,27642,27644,27646,27648,27650],{"class":3753,"line":13927},[3751,27643,24008],{"class":3833},[3751,27645,3837],{"class":3761},[3751,27647,3840],{"class":3757},[3751,27649,27263],{"class":3811},[3751,27651,4605],{"class":3757},[3751,27653,27654,27657,27659,27661,27663],{"class":3753,"line":13954},[3751,27655,27656],{"class":3833},"              maximumDate",[3751,27658,3837],{"class":3761},[3751,27660,3840],{"class":3757},[3751,27662,27277],{"class":3811},[3751,27664,4605],{"class":3757},[3751,27666,27667,27669,27671,27673,27675,27678,27680,27682],{"class":3753,"line":13968},[3751,27668,17245],{"class":3833},[3751,27670,3837],{"class":3761},[3751,27672,3840],{"class":3757},[3751,27674,4515],{"class":3843},[3751,27676,27677],{"class":3811},"alignSelf:",[3751,27679,9422],{"class":3784},[3751,27681,4524],{"class":3843},[3751,27683,4605],{"class":3757},[3751,27685,27686],{"class":3753,"line":13974},[3751,27687,7244],{"class":3825},[3751,27689,27690,27692],{"class":3753,"line":13982},[3751,27691,7093],{"class":3825},[3751,27693,13087],{"class":3829},[3751,27695,27696,27698,27700,27702],{"class":3753,"line":13993},[3751,27697,17245],{"class":3833},[3751,27699,3837],{"class":3761},[3751,27701,3840],{"class":3757},[3751,27703,13100],{"class":3843},[3751,27705,27706,27708,27710,27713],{"class":3753,"line":14014},[3751,27707,17256],{"class":3811},[3751,27709,3601],{"class":3843},[3751,27711,27712],{"class":3811},"sheetActions",[3751,27714,6146],{"class":3843},[3751,27716,27717,27719,27721,27723,27725,27727,27729,27731,27733,27735,27737],{"class":3753,"line":14041},[3751,27718,27523],{"class":3843},[3751,27720,27526],{"class":3811},[3751,27722,12688],{"class":3811},[3751,27724,3601],{"class":3843},[3751,27726,12693],{"class":3811},[3751,27728,3640],{"class":3843},[3751,27730,8630],{"class":3811},[3751,27732,12688],{"class":3811},[3751,27734,3601],{"class":3843},[3751,27736,12756],{"class":3811},[3751,27738,6665],{"class":3843},[3751,27740,27741,27743],{"class":3753,"line":14047},[3751,27742,17318],{"class":3843},[3751,27744,4605],{"class":3757},[3751,27746,27747],{"class":3753,"line":14055},[3751,27748,17325],{"class":3825},[3751,27750,27751,27753,27755,27758,27760,27763,27765,27767,27769,27772,27774],{"class":3753,"line":14065},[3751,27752,7740],{"class":3825},[3751,27754,12067],{"class":3829},[3751,27756,27757],{"class":3833}," label",[3751,27759,3837],{"class":3761},[3751,27761,27762],{"class":3784},"\"Готово\"",[3751,27764,12587],{"class":3833},[3751,27766,3837],{"class":3761},[3751,27768,3840],{"class":3757},[3751,27770,27771],{"class":3811},"applyIos",[3751,27773,3861],{"class":3757},[3751,27775,4529],{"class":3825},[3751,27777,27778,27780,27782,27784,27786,27788,27790,27792,27794,27796,27798,27800,27802,27805,27807],{"class":3753,"line":14097},[3751,27779,7740],{"class":3825},[3751,27781,5298],{"class":3829},[3751,27783,12587],{"class":3833},[3751,27785,3837],{"class":3761},[3751,27787,3840],{"class":3757},[3751,27789,27361],{"class":3811},[3751,27791,3861],{"class":3757},[3751,27793,5301],{"class":3833},[3751,27795,3837],{"class":3761},[3751,27797,3840],{"class":3757},[3751,27799,5308],{"class":3811},[3751,27801,3601],{"class":3843},[3751,27803,27804],{"class":3811},"cancel",[3751,27806,3861],{"class":3757},[3751,27808,4468],{"class":3825},[3751,27810,27811,27813,27815,27817,27819,27821,27823,27825,27827,27829,27831,27834,27836,27838],{"class":3753,"line":14116},[3751,27812,14050],{"class":3825},[3751,27814,12062],{"class":3829},[3751,27816,7116],{"class":3833},[3751,27818,3837],{"class":3761},[3751,27820,3840],{"class":3757},[3751,27822,10934],{"class":3811},[3751,27824,3601],{"class":3843},[3751,27826,4980],{"class":3811},[3751,27828,3861],{"class":3757},[3751,27830,5239],{"class":3825},[3751,27832,27833],{"class":3843},"Скасувати",[3751,27835,5245],{"class":3825},[3751,27837,12062],{"class":3829},[3751,27839,4468],{"class":3825},[3751,27841,27842,27844,27846],{"class":3753,"line":14122},[3751,27843,14149],{"class":3825},[3751,27845,5298],{"class":3829},[3751,27847,4468],{"class":3825},[3751,27849,27850,27852,27854],{"class":3753,"line":14136},[3751,27851,7852],{"class":3825},[3751,27853,7319],{"class":3829},[3751,27855,4468],{"class":3825},[3751,27857,27858,27860,27862],{"class":3753,"line":14146},[3751,27859,7861],{"class":3825},[3751,27861,7319],{"class":3829},[3751,27863,4468],{"class":3825},[3751,27865,27866,27868,27871],{"class":3753,"line":14156},[3751,27867,4569],{"class":3825},[3751,27869,27870],{"class":3829},"Modal",[3751,27872,4468],{"class":3825},[3751,27874,27875,27877,27879],{"class":3753,"line":14162},[3751,27876,13006],{"class":3843},[3751,27878,5658],{"class":3761},[3751,27880,13011],{"class":3757},[3751,27882,27883,27885,27887],{"class":3753,"line":14170},[3751,27884,4589],{"class":3825},[3751,27886,7319],{"class":3829},[3751,27888,4468],{"class":3825},[3751,27890,27891],{"class":3753,"line":14179},[3751,27892,4599],{"class":3761},[3751,27894,27895],{"class":3753,"line":14188},[3751,27896,4605],{"class":3761},[3751,27898,27899],{"class":3753,"line":14193},[3751,27900,5213],{"emptyLinePlaceholder":5212},[3751,27902,27903,27905,27908,27910,27912,27914,27916,27918,27920],{"class":3753,"line":14217},[3751,27904,10920],{"class":3757},[3751,27906,27907],{"class":3777}," formatDisplay",[3751,27909,3853],{"class":3761},[3751,27911,19214],{"class":3811},[3751,27913,4806],{"class":3761},[3751,27915,19219],{"class":3829},[3751,27917,6483],{"class":3761},[3751,27919,6057],{"class":3829},[3751,27921,6493],{"class":3761},[3751,27923,27924,27926,27929,27931,27933,27935,27937,27939,27941,27944,27947,27949,27951,27953,27956],{"class":3753,"line":14225},[3751,27925,8859],{"class":3757},[3751,27927,27928],{"class":3765}," dd",[3751,27930,5457],{"class":3761},[3751,27932,9080],{"class":3777},[3751,27934,3853],{"class":3761},[3751,27936,19214],{"class":3811},[3751,27938,3601],{"class":3761},[3751,27940,19240],{"class":3777},[3751,27942,27943],{"class":3761},"()).",[3751,27945,27946],{"class":3777},"padStart",[3751,27948,3853],{"class":3761},[3751,27950,15547],{"class":7005},[3751,27952,3640],{"class":3761},[3751,27954,27955],{"class":3784},"'0'",[3751,27957,3799],{"class":3761},[3751,27959,27960,27962,27965,27967,27969,27971,27973,27975,27977,27979,27981,27983,27985,27987,27989,27991,27993],{"class":3753,"line":14239},[3751,27961,8859],{"class":3757},[3751,27963,27964],{"class":3765}," mm",[3751,27966,5457],{"class":3761},[3751,27968,9080],{"class":3777},[3751,27970,3853],{"class":3761},[3751,27972,19214],{"class":3811},[3751,27974,3601],{"class":3761},[3751,27976,19259],{"class":3777},[3751,27978,22178],{"class":3761},[3751,27980,18887],{"class":7005},[3751,27982,3647],{"class":3761},[3751,27984,27946],{"class":3777},[3751,27986,3853],{"class":3761},[3751,27988,15547],{"class":7005},[3751,27990,3640],{"class":3761},[3751,27992,27955],{"class":3784},[3751,27994,3799],{"class":3761},[3751,27996,27997,27999,28002,28004,28006,28008,28010],{"class":3753,"line":14254},[3751,27998,8859],{"class":3757},[3751,28000,28001],{"class":3765}," yyyy",[3751,28003,5457],{"class":3761},[3751,28005,19214],{"class":3811},[3751,28007,3601],{"class":3761},[3751,28009,19343],{"class":3777},[3751,28011,5462],{"class":3761},[3751,28013,28014,28016,28018,28020,28023,28025,28027,28029,28032,28034,28036,28038,28041,28043,28045],{"class":3753,"line":14269},[3751,28015,4455],{"class":3805},[3751,28017,13680],{"class":3784},[3751,28019,7696],{"class":3757},[3751,28021,28022],{"class":3811},"dd",[3751,28024,3861],{"class":3757},[3751,28026,3601],{"class":3784},[3751,28028,7696],{"class":3757},[3751,28030,28031],{"class":3811},"mm",[3751,28033,3861],{"class":3757},[3751,28035,3601],{"class":3784},[3751,28037,7696],{"class":3757},[3751,28039,28040],{"class":3811},"yyyy",[3751,28042,3861],{"class":3757},[3751,28044,7707],{"class":3784},[3751,28046,3867],{"class":3761},[3751,28048,28049],{"class":3753,"line":14284},[3751,28050,4605],{"class":3761},[3751,28052,28053],{"class":3753,"line":14299},[3751,28054,5213],{"emptyLinePlaceholder":5212},[3751,28056,28057,28059,28061,28063,28065,28067,28069],{"class":3753,"line":14311},[3751,28058,3758],{"class":3757},[3751,28060,7903],{"class":3765},[3751,28062,5457],{"class":3761},[3751,28064,7310],{"class":3811},[3751,28066,3601],{"class":3761},[3751,28068,7912],{"class":3777},[3751,28070,7915],{"class":3761},[3751,28072,28073,28076],{"class":3753,"line":14324},[3751,28074,28075],{"class":3811},"  label:",[3751,28077,6493],{"class":3761},[3751,28079,28080,28082,28084],{"class":3753,"line":14337},[3751,28081,8215],{"class":3811},[3751,28083,6688],{"class":3784},[3751,28085,6146],{"class":3761},[3751,28087,28088],{"class":3753,"line":14350},[3751,28089,6198],{"class":3761},[3751,28091,28092,28095],{"class":3753,"line":14357},[3751,28093,28094],{"class":3811},"  field:",[3751,28096,6493],{"class":3761},[3751,28098,28099,28101,28103],{"class":3753,"line":14399},[3751,28100,8102],{"class":3811},[3751,28102,7928],{"class":7005},[3751,28104,6146],{"class":3761},[3751,28106,28107,28109,28112],{"class":3753,"line":14409},[3751,28108,26025],{"class":3811},[3751,28110,28111],{"class":7005}," 48",[3751,28113,6146],{"class":3761},[3751,28115,28116,28118,28120],{"class":3753,"line":14417},[3751,28117,9419],{"class":3811},[3751,28119,9422],{"class":3784},[3751,28121,6146],{"class":3761},[3751,28123,28124],{"class":3753,"line":14431},[3751,28125,6198],{"class":3761},[3751,28127,28128,28131],{"class":3753,"line":14446},[3751,28129,28130],{"class":3811},"  backdrop:",[3751,28132,6493],{"class":3761},[3751,28134,28135,28137,28139],{"class":3753,"line":14464},[3751,28136,9402],{"class":3811},[3751,28138,7928],{"class":7005},[3751,28140,6146],{"class":3761},[3751,28142,28143,28145,28148],{"class":3753,"line":14486},[3751,28144,8083],{"class":3811},[3751,28146,28147],{"class":3784}," 'rgba(0,0,0,0.35)'",[3751,28149,6146],{"class":3761},[3751,28151,28152],{"class":3753,"line":14491},[3751,28153,6198],{"class":3761},[3751,28155,28156,28159],{"class":3753,"line":14497},[3751,28157,28158],{"class":3811},"  sheet:",[3751,28160,6493],{"class":3761},[3751,28162,28163,28166,28168],{"class":3753,"line":14507},[3751,28164,28165],{"class":3811},"    borderTopLeftRadius:",[3751,28167,7951],{"class":7005},[3751,28169,6146],{"class":3761},[3751,28171,28172,28175,28177],{"class":3753,"line":14512},[3751,28173,28174],{"class":3811},"    borderTopRightRadius:",[3751,28176,7951],{"class":7005},[3751,28178,6146],{"class":3761},[3751,28180,28181,28183,28185],{"class":3753,"line":14521},[3751,28182,15017],{"class":3811},[3751,28184,7928],{"class":7005},[3751,28186,6146],{"class":3761},[3751,28188,28189],{"class":3753,"line":14526},[3751,28190,6198],{"class":3761},[3751,28192,28193,28196],{"class":3753,"line":14533},[3751,28194,28195],{"class":3811},"  sheetHeader:",[3751,28197,6493],{"class":3761},[3751,28199,28200,28202,28204],{"class":3753,"line":14544},[3751,28201,9429],{"class":3811},[3751,28203,9422],{"class":3784},[3751,28205,6146],{"class":3761},[3751,28207,28208],{"class":3753,"line":14556},[3751,28209,6198],{"class":3761},[3751,28211,28212,28215],{"class":3753,"line":14561},[3751,28213,28214],{"class":3811},"  sheetActions:",[3751,28216,6493],{"class":3761},[3751,28218,28219,28221,28223],{"class":3753,"line":14574},[3751,28220,8195],{"class":3811},[3751,28222,7961],{"class":7005},[3751,28224,6146],{"class":3761},[3751,28226,28227],{"class":3753,"line":14587},[3751,28228,6198],{"class":3761},[3751,28230,28231,28234],{"class":3753,"line":14600},[3751,28232,28233],{"class":3811},"  cancel:",[3751,28235,6493],{"class":3761},[3751,28237,28238,28240,28242],{"class":3753,"line":14614},[3751,28239,9429],{"class":3811},[3751,28241,9422],{"class":3784},[3751,28243,6146],{"class":3761},[3751,28245,28246,28248,28250],{"class":3753,"line":14628},[3751,28247,14856],{"class":3811},[3751,28249,7650],{"class":7005},[3751,28251,6146],{"class":3761},[3751,28253,28254],{"class":3753,"line":14633},[3751,28255,6198],{"class":3761},[3751,28257,28258],{"class":3753,"line":14640},[3751,28259,8240],{"class":3761},[3742,28261,28264],{"className":3744,"code":28262,"filename":28263,"language":3746,"meta":3747,"style":3747},"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",[3521,28265,28266,28282,28302,28306,28322,28338,28342,28351,28361,28366,28376,28386,28391,28402,28407,28418,28422,28426,28430,28435,28440,28444,28455,28461,28467,28473,28479,28489,28498,28516,28520,28526,28563,28569,28579,28604,28625,28631,28635,28658,28686,28694,28702,28712,28740,28749,28757,28765,28773,28809,28817,28825,28833,28843,28871,28879,28887,28895,28903,28907,28911,28915,28931,28938,28948,28952,28959,28967,28975,28984,28988,28995,29004,29013,29017,29024,29032,29040,29044,29050,29058,29062,29069,29078,29082,29089,29097,29105,29109],{"__ignoreMap":3747},[3751,28267,28268,28270,28272,28274,28276,28278,28280],{"class":3753,"line":3754},[3751,28269,5173],{"class":3805},[3751,28271,5176],{"class":3761},[3751,28273,19914],{"class":3811},[3751,28275,5181],{"class":3761},[3751,28277,5184],{"class":3805},[3751,28279,11874],{"class":3784},[3751,28281,3867],{"class":3761},[3751,28283,28284,28286,28288,28290,28292,28294,28296,28298,28300],{"class":3753,"line":3802},[3751,28285,5173],{"class":3805},[3751,28287,5176],{"class":3761},[3751,28289,7310],{"class":3811},[3751,28291,3640],{"class":3761},[3751,28293,7319],{"class":3811},[3751,28295,5181],{"class":3761},[3751,28297,5184],{"class":3805},[3751,28299,5205],{"class":3784},[3751,28301,3867],{"class":3761},[3751,28303,28304],{"class":3753,"line":3870},[3751,28305,5213],{"emptyLinePlaceholder":5212},[3751,28307,28308,28310,28312,28314,28316,28318,28320],{"class":3753,"line":4471},[3751,28309,5173],{"class":3805},[3751,28311,5176],{"class":3761},[3751,28313,10882],{"class":3811},[3751,28315,5181],{"class":3761},[3751,28317,5184],{"class":3805},[3751,28319,10889],{"class":3784},[3751,28321,3867],{"class":3761},[3751,28323,28324,28326,28328,28330,28332,28334,28336],{"class":3753,"line":4481},[3751,28325,5173],{"class":3805},[3751,28327,5176],{"class":3761},[3751,28329,12062],{"class":3811},[3751,28331,5181],{"class":3761},[3751,28333,5184],{"class":3805},[3751,28335,12078],{"class":3784},[3751,28337,3867],{"class":3761},[3751,28339,28340],{"class":3753,"line":4491},[3751,28341,5213],{"emptyLinePlaceholder":5212},[3751,28343,28344,28346,28349],{"class":3753,"line":4532},[3751,28345,12042],{"class":3757},[3751,28347,28348],{"class":3829}," FormRowProps",[3751,28350,6047],{"class":3761},[3751,28352,28353,28355,28357,28359],{"class":3753,"line":4566},[3751,28354,26229],{"class":3811},[3751,28356,4806],{"class":3761},[3751,28358,6057],{"class":3829},[3751,28360,3867],{"class":3761},[3751,28362,28363],{"class":3753,"line":4576},[3751,28364,28365],{"class":5471},"  \u002F** Короткий опис під label (для Switch \u002F Checkbox \u002F Slider). *\u002F\n",[3751,28367,28368,28370,28372,28374],{"class":3753,"line":4586},[3751,28369,6097],{"class":3811},[3751,28371,18294],{"class":3761},[3751,28373,6057],{"class":3829},[3751,28375,3867],{"class":3761},[3751,28377,28378,28380,28382,28384],{"class":3753,"line":4596},[3751,28379,26285],{"class":3811},[3751,28381,18294],{"class":3761},[3751,28383,6057],{"class":3829},[3751,28385,3867],{"class":3761},[3751,28387,28388],{"class":3753,"line":4602},[3751,28389,28390],{"class":5471},"  \u002F** Правий слот: Switch, Checkbox тощо. *\u002F\n",[3751,28392,28393,28396,28398,28400],{"class":3753,"line":6159},[3751,28394,28395],{"class":3811},"  control",[3751,28397,4806],{"class":3761},[3751,28399,19914],{"class":3829},[3751,28401,3867],{"class":3761},[3751,28403,28404],{"class":3753,"line":6170},[3751,28405,28406],{"class":5471},"  \u002F** Якщо true — control під label на всю ширину (Slider, Picker). *\u002F\n",[3751,28408,28409,28412,28414,28416],{"class":3753,"line":6181},[3751,28410,28411],{"class":3811},"  stacked",[3751,28413,18294],{"class":3761},[3751,28415,4840],{"class":3829},[3751,28417,3867],{"class":3761},[3751,28419,28420],{"class":3753,"line":6187},[3751,28421,6108],{"class":3761},[3751,28423,28424],{"class":3753,"line":6195},[3751,28425,5213],{"emptyLinePlaceholder":5212},[3751,28427,28428],{"class":3753,"line":6201},[3751,28429,10900],{"class":5471},[3751,28431,28432],{"class":3753,"line":6206},[3751,28433,28434],{"class":5471}," * Рядок форми для не-текстових контролів:\n",[3751,28436,28437],{"class":3753,"line":6216},[3751,28438,28439],{"class":5471}," * label + опис зліва, control справа (або stacked).\n",[3751,28441,28442],{"class":3753,"line":6226},[3751,28443,10915],{"class":5471},[3751,28445,28446,28448,28450,28453],{"class":3753,"line":6236},[3751,28447,4438],{"class":3805},[3751,28449,4444],{"class":3757},[3751,28451,28452],{"class":3777}," FormRow",[3751,28454,7915],{"class":3761},[3751,28456,28457,28459],{"class":3753,"line":6246},[3751,28458,26229],{"class":3811},[3751,28460,6146],{"class":3761},[3751,28462,28463,28465],{"class":3753,"line":6251},[3751,28464,6097],{"class":3811},[3751,28466,6146],{"class":3761},[3751,28468,28469,28471],{"class":3753,"line":6259},[3751,28470,26285],{"class":3811},[3751,28472,6146],{"class":3761},[3751,28474,28475,28477],{"class":3753,"line":6264},[3751,28476,28395],{"class":3811},[3751,28478,6146],{"class":3761},[3751,28480,28481,28483,28485,28487],{"class":3753,"line":6269},[3751,28482,28411],{"class":3811},[3751,28484,5457],{"class":3761},[3751,28486,4844],{"class":3757},[3751,28488,6146],{"class":3761},[3751,28490,28491,28493,28496],{"class":3753,"line":6279},[3751,28492,22244],{"class":3761},[3751,28494,28495],{"class":3829},"FormRowProps",[3751,28497,8964],{"class":3761},[3751,28499,28500,28502,28504,28506,28508,28510,28512,28514],{"class":3753,"line":6289},[3751,28501,8859],{"class":3757},[3751,28503,5176],{"class":3761},[3751,28505,10934],{"class":3765},[3751,28507,3640],{"class":3761},[3751,28509,12236],{"class":3765},[3751,28511,8866],{"class":3761},[3751,28513,10882],{"class":3777},[3751,28515,5462],{"class":3761},[3751,28517,28518],{"class":3753,"line":6299},[3751,28519,5213],{"emptyLinePlaceholder":5212},[3751,28521,28522,28524],{"class":3753,"line":6309},[3751,28523,4455],{"class":3805},[3751,28525,4458],{"class":3761},[3751,28527,28528,28530,28532,28534,28536,28538,28540,28542,28544,28547,28549,28551,28553,28555,28557,28559,28561],{"class":3753,"line":6314},[3751,28529,4463],{"class":3825},[3751,28531,7319],{"class":3829},[3751,28533,5301],{"class":3833},[3751,28535,3837],{"class":3761},[3751,28537,3840],{"class":3757},[3751,28539,7436],{"class":3843},[3751,28541,5308],{"class":3811},[3751,28543,3601],{"class":3843},[3751,28545,28546],{"class":3811},"wrap",[3751,28548,13756],{"class":3843},[3751,28550,8630],{"class":3811},[3751,28552,12688],{"class":3811},[3751,28554,3601],{"class":3843},[3751,28556,13443],{"class":3811},[3751,28558,13777],{"class":3843},[3751,28560,3861],{"class":3757},[3751,28562,4468],{"class":3825},[3751,28564,28565,28567],{"class":3753,"line":6322},[3751,28566,4474],{"class":3825},[3751,28568,13087],{"class":3829},[3751,28570,28571,28573,28575,28577],{"class":3753,"line":6327},[3751,28572,13270],{"class":3833},[3751,28574,3837],{"class":3761},[3751,28576,3840],{"class":3757},[3751,28578,13100],{"class":3843},[3751,28580,28581,28584,28586,28588,28590,28593,28595,28597,28599,28602],{"class":3753,"line":6332},[3751,28582,28583],{"class":3811},"          stacked",[3751,28585,10982],{"class":3761},[3751,28587,7903],{"class":3811},[3751,28589,3601],{"class":3843},[3751,28591,28592],{"class":3811},"stacked",[3751,28594,10988],{"class":3761},[3751,28596,7903],{"class":3811},[3751,28598,3601],{"class":3843},[3751,28600,28601],{"class":3811},"row",[3751,28603,6146],{"class":3843},[3751,28605,28606,28609,28611,28613,28615,28617,28619,28621,28623],{"class":3753,"line":6342},[3751,28607,28608],{"class":3761},"          !",[3751,28610,28592],{"class":3811},[3751,28612,27190],{"class":3761},[3751,28614,5176],{"class":3843},[3751,28616,8630],{"class":3811},[3751,28618,12688],{"class":3811},[3751,28620,3601],{"class":3843},[3751,28622,12693],{"class":3811},[3751,28624,6665],{"class":3843},[3751,28626,28627,28629],{"class":3753,"line":6352},[3751,28628,13471],{"class":3843},[3751,28630,4605],{"class":3757},[3751,28632,28633],{"class":3753,"line":6362},[3751,28634,6723],{"class":3825},[3751,28636,28637,28639,28641,28643,28645,28647,28649,28651,28654,28656],{"class":3753,"line":6372},[3751,28638,4484],{"class":3825},[3751,28640,7319],{"class":3829},[3751,28642,5301],{"class":3833},[3751,28644,3837],{"class":3761},[3751,28646,3840],{"class":3757},[3751,28648,5308],{"class":3811},[3751,28650,3601],{"class":3843},[3751,28652,28653],{"class":3811},"texts",[3751,28655,3861],{"class":3757},[3751,28657,4468],{"class":3825},[3751,28659,28660,28662,28664,28666,28668,28670,28672,28674,28676,28678,28680,28682,28684],{"class":3753,"line":6377},[3751,28661,4494],{"class":3825},[3751,28663,12062],{"class":3829},[3751,28665,13190],{"class":3833},[3751,28667,3837],{"class":3761},[3751,28669,13517],{"class":3784},[3751,28671,5301],{"class":3833},[3751,28673,3837],{"class":3761},[3751,28675,3840],{"class":3757},[3751,28677,5308],{"class":3811},[3751,28679,3601],{"class":3843},[3751,28681,12107],{"class":3811},[3751,28683,3861],{"class":3757},[3751,28685,4468],{"class":3825},[3751,28687,28688,28690,28692],{"class":3753,"line":6385},[3751,28689,16686],{"class":3757},[3751,28691,12107],{"class":3811},[3751,28693,4605],{"class":3757},[3751,28695,28696,28698,28700],{"class":3753,"line":6390},[3751,28697,7861],{"class":3825},[3751,28699,12062],{"class":3829},[3751,28701,4468],{"class":3825},[3751,28703,28704,28706,28708,28710],{"class":3753,"line":6395},[3751,28705,13660],{"class":3757},[3751,28707,9322],{"class":3811},[3751,28709,10982],{"class":3761},[3751,28711,4458],{"class":3843},[3751,28713,28714,28716,28718,28720,28722,28724,28726,28728,28730,28732,28734,28736,28738],{"class":3753,"line":6405},[3751,28715,7093],{"class":3825},[3751,28717,12062],{"class":3829},[3751,28719,13190],{"class":3833},[3751,28721,3837],{"class":3761},[3751,28723,13517],{"class":3784},[3751,28725,7116],{"class":3833},[3751,28727,3837],{"class":3761},[3751,28729,3840],{"class":3757},[3751,28731,10934],{"class":3811},[3751,28733,3601],{"class":3843},[3751,28735,4980],{"class":3811},[3751,28737,3861],{"class":3757},[3751,28739,4468],{"class":3825},[3751,28741,28742,28745,28747],{"class":3753,"line":6415},[3751,28743,28744],{"class":3757},"              {",[3751,28746,9322],{"class":3811},[3751,28748,4605],{"class":3757},[3751,28750,28751,28753,28755],{"class":3753,"line":6425},[3751,28752,7852],{"class":3825},[3751,28754,12062],{"class":3829},[3751,28756,4468],{"class":3825},[3751,28758,28759,28761,28763],{"class":3753,"line":6435},[3751,28760,25723],{"class":3843},[3751,28762,5658],{"class":3761},[3751,28764,13011],{"class":3757},[3751,28766,28767,28769,28771],{"class":3753,"line":6440},[3751,28768,4569],{"class":3825},[3751,28770,7319],{"class":3829},[3751,28772,4468],{"class":3825},[3751,28774,28775,28777,28779,28781,28783,28785,28787,28789,28791,28793,28796,28798,28800,28802,28805,28807],{"class":3753,"line":6448},[3751,28776,4484],{"class":3825},[3751,28778,7319],{"class":3829},[3751,28780,5301],{"class":3833},[3751,28782,3837],{"class":3761},[3751,28784,3840],{"class":3757},[3751,28786,28592],{"class":3811},[3751,28788,10982],{"class":3761},[3751,28790,7903],{"class":3811},[3751,28792,3601],{"class":3843},[3751,28794,28795],{"class":3811},"fullControl",[3751,28797,10988],{"class":3761},[3751,28799,7903],{"class":3811},[3751,28801,3601],{"class":3843},[3751,28803,28804],{"class":3811},"sideControl",[3751,28806,3861],{"class":3757},[3751,28808,4468],{"class":3825},[3751,28810,28811,28813,28815],{"class":3753,"line":6453},[3751,28812,13660],{"class":3757},[3751,28814,23091],{"class":3811},[3751,28816,4605],{"class":3757},[3751,28818,28819,28821,28823],{"class":3753,"line":6459},[3751,28820,4569],{"class":3825},[3751,28822,7319],{"class":3829},[3751,28824,4468],{"class":3825},[3751,28826,28827,28829,28831],{"class":3753,"line":6464},[3751,28828,4579],{"class":3825},[3751,28830,7319],{"class":3829},[3751,28832,4468],{"class":3825},[3751,28834,28835,28837,28839,28841],{"class":3753,"line":6496},[3751,28836,12716],{"class":3757},[3751,28838,26501],{"class":3811},[3751,28840,10982],{"class":3761},[3751,28842,4458],{"class":3843},[3751,28844,28845,28847,28849,28851,28853,28855,28857,28859,28861,28863,28865,28867,28869],{"class":3753,"line":6531},[3751,28846,4484],{"class":3825},[3751,28848,12062],{"class":3829},[3751,28850,13190],{"class":3833},[3751,28852,3837],{"class":3761},[3751,28854,13517],{"class":3784},[3751,28856,7116],{"class":3833},[3751,28858,3837],{"class":3761},[3751,28860,3840],{"class":3757},[3751,28862,10934],{"class":3811},[3751,28864,3601],{"class":3843},[3751,28866,26990],{"class":3811},[3751,28868,3861],{"class":3757},[3751,28870,4468],{"class":3825},[3751,28872,28873,28875,28877],{"class":3753,"line":8184},[3751,28874,13660],{"class":3757},[3751,28876,26501],{"class":3811},[3751,28878,4605],{"class":3757},[3751,28880,28881,28883,28885],{"class":3753,"line":8192},[3751,28882,4569],{"class":3825},[3751,28884,12062],{"class":3829},[3751,28886,4468],{"class":3825},[3751,28888,28889,28891,28893],{"class":3753,"line":8202},[3751,28890,13006],{"class":3843},[3751,28892,5658],{"class":3761},[3751,28894,13011],{"class":3757},[3751,28896,28897,28899,28901],{"class":3753,"line":8212},[3751,28898,4589],{"class":3825},[3751,28900,7319],{"class":3829},[3751,28902,4468],{"class":3825},[3751,28904,28905],{"class":3753,"line":8222},[3751,28906,4599],{"class":3761},[3751,28908,28909],{"class":3753,"line":8232},[3751,28910,4605],{"class":3761},[3751,28912,28913],{"class":3753,"line":8237},[3751,28914,5213],{"emptyLinePlaceholder":5212},[3751,28916,28917,28919,28921,28923,28925,28927,28929],{"class":3753,"line":12660},[3751,28918,3758],{"class":3757},[3751,28920,7903],{"class":3765},[3751,28922,5457],{"class":3761},[3751,28924,7310],{"class":3811},[3751,28926,3601],{"class":3761},[3751,28928,7912],{"class":3777},[3751,28930,7915],{"class":3761},[3751,28932,28933,28936],{"class":3753,"line":12671},[3751,28934,28935],{"class":3811},"  wrap:",[3751,28937,6493],{"class":3761},[3751,28939,28940,28943,28946],{"class":3753,"line":12713},[3751,28941,28942],{"class":3811},"    width:",[3751,28944,28945],{"class":3784}," '100%'",[3751,28947,6146],{"class":3761},[3751,28949,28950],{"class":3753,"line":12735},[3751,28951,6198],{"class":3761},[3751,28953,28954,28957],{"class":3753,"line":12765},[3751,28955,28956],{"class":3811},"  row:",[3751,28958,6493],{"class":3761},[3751,28960,28961,28963,28965],{"class":3753,"line":12799},[3751,28962,14812],{"class":3811},[3751,28964,14815],{"class":3784},[3751,28966,6146],{"class":3761},[3751,28968,28969,28971,28973],{"class":3753,"line":12806},[3751,28970,9429],{"class":3811},[3751,28972,9422],{"class":3784},[3751,28974,6146],{"class":3761},[3751,28976,28977,28979,28982],{"class":3753,"line":12812},[3751,28978,9419],{"class":3811},[3751,28980,28981],{"class":3784}," 'space-between'",[3751,28983,6146],{"class":3761},[3751,28985,28986],{"class":3753,"line":12826},[3751,28987,6198],{"class":3761},[3751,28989,28990,28993],{"class":3753,"line":12852},[3751,28991,28992],{"class":3811},"  stacked:",[3751,28994,6493],{"class":3761},[3751,28996,28997,28999,29002],{"class":3753,"line":12872},[3751,28998,14812],{"class":3811},[3751,29000,29001],{"class":3784}," 'column'",[3751,29003,6146],{"class":3761},[3751,29005,29006,29008,29011],{"class":3753,"line":12904},[3751,29007,9429],{"class":3811},[3751,29009,29010],{"class":3784}," 'stretch'",[3751,29012,6146],{"class":3761},[3751,29014,29015],{"class":3753,"line":12912},[3751,29016,6198],{"class":3761},[3751,29018,29019,29022],{"class":3753,"line":12923},[3751,29020,29021],{"class":3811},"  texts:",[3751,29023,6493],{"class":3761},[3751,29025,29026,29028,29030],{"class":3753,"line":12966},[3751,29027,9402],{"class":3811},[3751,29029,7928],{"class":7005},[3751,29031,6146],{"class":3761},[3751,29033,29034,29036,29038],{"class":3753,"line":12988},[3751,29035,15990],{"class":3811},[3751,29037,12981],{"class":7005},[3751,29039,6146],{"class":3761},[3751,29041,29042],{"class":3753,"line":12994},[3751,29043,6198],{"class":3761},[3751,29045,29046,29048],{"class":3753,"line":13003},[3751,29047,28075],{"class":3811},[3751,29049,6493],{"class":3761},[3751,29051,29052,29054,29056],{"class":3753,"line":13014},[3751,29053,8215],{"class":3811},[3751,29055,6688],{"class":3784},[3751,29057,6146],{"class":3761},[3751,29059,29060],{"class":3753,"line":13019},[3751,29061,6198],{"class":3761},[3751,29063,29064,29067],{"class":3753,"line":13053},[3751,29065,29066],{"class":3811},"  sideControl:",[3751,29068,6493],{"class":3761},[3751,29070,29071,29074,29076],{"class":3753,"line":13062},[3751,29072,29073],{"class":3811},"    flexShrink:",[3751,29075,12728],{"class":7005},[3751,29077,6146],{"class":3761},[3751,29079,29080],{"class":3753,"line":13067},[3751,29081,6198],{"class":3761},[3751,29083,29084,29087],{"class":3753,"line":13072},[3751,29085,29086],{"class":3811},"  fullControl:",[3751,29088,6493],{"class":3761},[3751,29090,29091,29093,29095],{"class":3753,"line":13082},[3751,29092,8195],{"class":3811},[3751,29094,7961],{"class":7005},[3751,29096,6146],{"class":3761},[3751,29098,29099,29101,29103],{"class":3753,"line":13090},[3751,29100,28942],{"class":3811},[3751,29102,28945],{"class":3784},[3751,29104,6146],{"class":3761},[3751,29106,29107],{"class":3753,"line":13103},[3751,29108,6198],{"class":3761},[3751,29110,29111],{"class":3753,"line":13116},[3751,29112,8240],{"class":3761},[3742,29114,29117],{"className":3744,"code":29115,"filename":29116,"language":3746,"meta":3747,"style":3747},"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",[3521,29118,29119,29136,29169,29173,29191,29207,29223,29227,29236,29247,29269,29273,29277,29299,29321,29325,29331,29337,29346,29372,29396,29416,29426,29430,29442,29455,29468,29472,29488,29494,29498,29505,29530,29561,29571,29576,29580,29626,29663,29703,29715,29723,29752,29765,29773,29781,29823,29835,29846,29888,29896,29904,29932,29979,29993,29999,30008,30039,30043,30048,30056,30065,30079,30085,30093,30123,30127,30132,30140,30148,30156,30162,30168,30181,30213,30217,30229,30237,30273,30301,30306,30314,30322,30330,30338,30342,30346,30350,30355,30375,30379,30395,30401,30409,30417,30431,30438,30448,30458,30467,30486,30490,30497,30506,30510,30518,30522,30526,30533,30543,30547,30554,30562,30572,30576,30582,30589,30597,30605,30609,30616,30624,30628,30635,30643,30647,30654,30662,30666,30673,30681,30689,30693,30700,30708,30716,30720,30726,30735,30739],{"__ignoreMap":3747},[3751,29120,29121,29123,29125,29128,29130,29132,29134],{"class":3753,"line":3754},[3751,29122,5173],{"class":3805},[3751,29124,5176],{"class":3761},[3751,29126,29127],{"class":3811},"memo",[3751,29129,5181],{"class":3761},[3751,29131,5184],{"class":3805},[3751,29133,11874],{"class":3784},[3751,29135,3867],{"class":3761},[3751,29137,29138,29140,29142,29145,29147,29149,29151,29153,29155,29157,29159,29161,29163,29165,29167],{"class":3753,"line":3802},[3751,29139,5173],{"class":3805},[3751,29141,5176],{"class":3761},[3751,29143,29144],{"class":3811},"Image",[3751,29146,3640],{"class":3761},[3751,29148,22836],{"class":3811},[3751,29150,3640],{"class":3761},[3751,29152,5298],{"class":3811},[3751,29154,3640],{"class":3761},[3751,29156,7310],{"class":3811},[3751,29158,3640],{"class":3761},[3751,29160,7319],{"class":3811},[3751,29162,5181],{"class":3761},[3751,29164,5184],{"class":3805},[3751,29166,5205],{"class":3784},[3751,29168,3867],{"class":3761},[3751,29170,29171],{"class":3753,"line":3870},[3751,29172,5213],{"emptyLinePlaceholder":5212},[3751,29174,29175,29177,29179,29181,29183,29185,29187,29189],{"class":3753,"line":4471},[3751,29176,5173],{"class":3805},[3751,29178,6041],{"class":3805},[3751,29180,5176],{"class":3761},[3751,29182,12330],{"class":3811},[3751,29184,5181],{"class":3761},[3751,29186,5184],{"class":3805},[3751,29188,21901],{"class":3784},[3751,29190,3867],{"class":3761},[3751,29192,29193,29195,29197,29199,29201,29203,29205],{"class":3753,"line":4481},[3751,29194,5173],{"class":3805},[3751,29196,5176],{"class":3761},[3751,29198,10882],{"class":3811},[3751,29200,5181],{"class":3761},[3751,29202,5184],{"class":3805},[3751,29204,10889],{"class":3784},[3751,29206,3867],{"class":3761},[3751,29208,29209,29211,29213,29215,29217,29219,29221],{"class":3753,"line":4491},[3751,29210,5173],{"class":3805},[3751,29212,5176],{"class":3761},[3751,29214,12062],{"class":3811},[3751,29216,5181],{"class":3761},[3751,29218,5184],{"class":3805},[3751,29220,12078],{"class":3784},[3751,29222,3867],{"class":3761},[3751,29224,29225],{"class":3753,"line":4532},[3751,29226,5213],{"emptyLinePlaceholder":5212},[3751,29228,29229,29231,29234],{"class":3753,"line":4566},[3751,29230,12042],{"class":3757},[3751,29232,29233],{"class":3829}," TripCardProps",[3751,29235,6047],{"class":3761},[3751,29237,29238,29241,29243,29245],{"class":3753,"line":4576},[3751,29239,29240],{"class":3811},"  trip",[3751,29242,4806],{"class":3761},[3751,29244,12330],{"class":3829},[3751,29246,3867],{"class":3761},[3751,29248,29249,29252,29255,29257,29259,29261,29263,29265,29267],{"class":3753,"line":4586},[3751,29250,29251],{"class":3777},"  onPress",[3751,29253,29254],{"class":3761},"?: (",[3751,29256,12325],{"class":3811},[3751,29258,4806],{"class":3761},[3751,29260,12330],{"class":3829},[3751,29262,3819],{"class":3761},[3751,29264,3847],{"class":3757},[3751,29266,19834],{"class":3829},[3751,29268,3867],{"class":3761},[3751,29270,29271],{"class":3753,"line":4596},[3751,29272,6108],{"class":3761},[3751,29274,29275],{"class":3753,"line":4602},[3751,29276,5213],{"emptyLinePlaceholder":5212},[3751,29278,29279,29281,29284,29286,29288,29290,29292,29294,29297],{"class":3753,"line":6159},[3751,29280,10920],{"class":3757},[3751,29282,29283],{"class":3777}," TripCardComponent",[3751,29285,7670],{"class":3761},[3751,29287,12325],{"class":3811},[3751,29289,3640],{"class":3761},[3751,29291,5381],{"class":3811},[3751,29293,19941],{"class":3761},[3751,29295,29296],{"class":3829},"TripCardProps",[3751,29298,8964],{"class":3761},[3751,29300,29301,29303,29305,29307,29309,29311,29313,29315,29317,29319],{"class":3753,"line":6170},[3751,29302,8859],{"class":3757},[3751,29304,5176],{"class":3761},[3751,29306,10934],{"class":3765},[3751,29308,3640],{"class":3761},[3751,29310,12236],{"class":3765},[3751,29312,3640],{"class":3761},[3751,29314,22266],{"class":3765},[3751,29316,8866],{"class":3761},[3751,29318,10882],{"class":3777},[3751,29320,5462],{"class":3761},[3751,29322,29323],{"class":3753,"line":6181},[3751,29324,5213],{"emptyLinePlaceholder":5212},[3751,29326,29327,29329],{"class":3753,"line":6187},[3751,29328,4455],{"class":3805},[3751,29330,4458],{"class":3761},[3751,29332,29333,29335],{"class":3753,"line":6195},[3751,29334,4463],{"class":3825},[3751,29336,13846],{"class":3829},[3751,29338,29339,29342,29344],{"class":3753,"line":6201},[3751,29340,29341],{"class":3833},"      accessibilityRole",[3751,29343,3837],{"class":3761},[3751,29345,13990],{"class":3784},[3751,29347,29348,29351,29353,29355,29358,29360,29362,29364,29366,29368,29370],{"class":3753,"line":6206},[3751,29349,29350],{"class":3833},"      accessibilityLabel",[3751,29352,3837],{"class":3761},[3751,29354,3840],{"class":3757},[3751,29356,29357],{"class":3784},"`Поїздка ",[3751,29359,7696],{"class":3757},[3751,29361,12325],{"class":3811},[3751,29363,3601],{"class":3843},[3751,29365,4809],{"class":3811},[3751,29367,3861],{"class":3757},[3751,29369,7707],{"class":3784},[3751,29371,4605],{"class":3757},[3751,29373,29374,29377,29379,29381,29383,29385,29387,29390,29392,29394],{"class":3753,"line":6216},[3751,29375,29376],{"class":3833},"      onPress",[3751,29378,3837],{"class":3761},[3751,29380,3840],{"class":3757},[3751,29382,3844],{"class":3843},[3751,29384,3847],{"class":3757},[3751,29386,12587],{"class":3777},[3751,29388,29389],{"class":3843},"?.(",[3751,29391,12325],{"class":3811},[3751,29393,3858],{"class":3843},[3751,29395,4605],{"class":3757},[3751,29397,29398,29400,29402,29404,29406,29409,29411,29413],{"class":3753,"line":6226},[3751,29399,13093],{"class":3833},[3751,29401,3837],{"class":3761},[3751,29403,3840],{"class":3757},[3751,29405,7670],{"class":3843},[3751,29407,29408],{"class":3811},"pressed",[3751,29410,7084],{"class":3843},[3751,29412,3847],{"class":3757},[3751,29414,29415],{"class":3843}," [\n",[3751,29417,29418,29420,29422,29424],{"class":3753,"line":6236},[3751,29419,13106],{"class":3811},[3751,29421,3601],{"class":3843},[3751,29423,4830],{"class":3811},[3751,29425,6146],{"class":3843},[3751,29427,29428],{"class":3753,"line":6246},[3751,29429,13119],{"class":3843},[3751,29431,29432,29434,29436,29438,29440],{"class":3753,"line":6251},[3751,29433,6973],{"class":3811},[3751,29435,11021],{"class":3811},[3751,29437,3601],{"class":3843},[3751,29439,13949],{"class":3811},[3751,29441,6146],{"class":3843},[3751,29443,29444,29447,29449,29451,29453],{"class":3753,"line":6259},[3751,29445,29446],{"class":3811},"          borderColor:",[3751,29448,11021],{"class":3811},[3751,29450,3601],{"class":3843},[3751,29452,11482],{"class":3811},[3751,29454,6146],{"class":3843},[3751,29456,29457,29460,29462,29464,29466],{"class":3753,"line":6264},[3751,29458,29459],{"class":3811},"          borderRadius:",[3751,29461,23487],{"class":3811},[3751,29463,3601],{"class":3843},[3751,29465,27472],{"class":3811},[3751,29467,6146],{"class":3843},[3751,29469,29470],{"class":3753,"line":6269},[3751,29471,6992],{"class":3843},[3751,29473,29474,29477,29479,29481,29483,29486],{"class":3753,"line":6279},[3751,29475,29476],{"class":3811},"        pressed",[3751,29478,27190],{"class":3761},[3751,29480,7903],{"class":3811},[3751,29482,3601],{"class":3843},[3751,29484,29485],{"class":3811},"cardPressed",[3751,29487,6146],{"class":3843},[3751,29489,29490,29492],{"class":3753,"line":6289},[3751,29491,13173],{"class":3843},[3751,29493,4605],{"class":3757},[3751,29495,29496],{"class":3753,"line":6299},[3751,29497,7026],{"class":3825},[3751,29499,29500,29502],{"class":3753,"line":6309},[3751,29501,4474],{"class":3825},[3751,29503,29504],{"class":3829},"Image\n",[3751,29506,29507,29510,29512,29514,29516,29519,29521,29523,29526,29528],{"class":3753,"line":6314},[3751,29508,29509],{"class":3833},"        source",[3751,29511,3837],{"class":3761},[3751,29513,3840],{"class":3757},[3751,29515,4515],{"class":3843},[3751,29517,29518],{"class":3811},"uri:",[3751,29520,12576],{"class":3811},[3751,29522,3601],{"class":3843},[3751,29524,29525],{"class":3811},"coverUri",[3751,29527,4524],{"class":3843},[3751,29529,4605],{"class":3757},[3751,29531,29532,29534,29536,29538,29540,29542,29544,29547,29549,29551,29553,29555,29557,29559],{"class":3753,"line":6322},[3751,29533,13270],{"class":3833},[3751,29535,3837],{"class":3761},[3751,29537,3840],{"class":3757},[3751,29539,7436],{"class":3843},[3751,29541,5308],{"class":3811},[3751,29543,3601],{"class":3843},[3751,29545,29546],{"class":3811},"cover",[3751,29548,13756],{"class":3843},[3751,29550,6659],{"class":3811},[3751,29552,11021],{"class":3811},[3751,29554,3601],{"class":3843},[3751,29556,11482],{"class":3811},[3751,29558,13777],{"class":3843},[3751,29560,4605],{"class":3757},[3751,29562,29563,29566,29568],{"class":3753,"line":6327},[3751,29564,29565],{"class":3833},"        resizeMode",[3751,29567,3837],{"class":3761},[3751,29569,29570],{"class":3784},"\"cover\"\n",[3751,29572,29573],{"class":3753,"line":6332},[3751,29574,29575],{"class":3833},"        accessibilityIgnoresInvertColors\n",[3751,29577,29578],{"class":3753,"line":6342},[3751,29579,7142],{"class":3825},[3751,29581,29582,29584,29586,29588,29590,29592,29594,29596,29598,29600,29602,29604,29606,29608,29610,29612,29614,29616,29618,29620,29622,29624],{"class":3753,"line":6352},[3751,29583,4474],{"class":3825},[3751,29585,7319],{"class":3829},[3751,29587,5301],{"class":3833},[3751,29589,3837],{"class":3761},[3751,29591,3840],{"class":3757},[3751,29593,7436],{"class":3843},[3751,29595,5308],{"class":3811},[3751,29597,3601],{"class":3843},[3751,29599,8395],{"class":3811},[3751,29601,13756],{"class":3843},[3751,29603,8059],{"class":3811},[3751,29605,12688],{"class":3811},[3751,29607,3601],{"class":3843},[3751,29609,12693],{"class":3811},[3751,29611,3640],{"class":3843},[3751,29613,8630],{"class":3811},[3751,29615,12688],{"class":3811},[3751,29617,3601],{"class":3843},[3751,29619,13443],{"class":3811},[3751,29621,13777],{"class":3843},[3751,29623,3861],{"class":3757},[3751,29625,4468],{"class":3825},[3751,29627,29628,29630,29632,29634,29636,29638,29640,29642,29644,29647,29649,29651,29653,29655,29657,29659,29661],{"class":3753,"line":6362},[3751,29629,4484],{"class":3825},[3751,29631,7319],{"class":3829},[3751,29633,5301],{"class":3833},[3751,29635,3837],{"class":3761},[3751,29637,3840],{"class":3757},[3751,29639,7436],{"class":3843},[3751,29641,5308],{"class":3811},[3751,29643,3601],{"class":3843},[3751,29645,29646],{"class":3811},"titleRow",[3751,29648,13756],{"class":3843},[3751,29650,8630],{"class":3811},[3751,29652,12688],{"class":3811},[3751,29654,3601],{"class":3843},[3751,29656,12756],{"class":3811},[3751,29658,13777],{"class":3843},[3751,29660,3861],{"class":3757},[3751,29662,4468],{"class":3825},[3751,29664,29665,29667,29669,29671,29673,29675,29678,29680,29682,29684,29686,29688,29690,29692,29694,29696,29699,29701],{"class":3753,"line":6372},[3751,29666,4494],{"class":3825},[3751,29668,12062],{"class":3829},[3751,29670,13190],{"class":3833},[3751,29672,3837],{"class":3761},[3751,29674,13195],{"class":3784},[3751,29676,29677],{"class":3833}," numberOfLines",[3751,29679,3837],{"class":3761},[3751,29681,3840],{"class":3757},[3751,29683,18887],{"class":7005},[3751,29685,3861],{"class":3757},[3751,29687,5301],{"class":3833},[3751,29689,3837],{"class":3761},[3751,29691,3840],{"class":3757},[3751,29693,5308],{"class":3811},[3751,29695,3601],{"class":3843},[3751,29697,29698],{"class":3811},"titleFlex",[3751,29700,3861],{"class":3757},[3751,29702,4468],{"class":3825},[3751,29704,29705,29707,29709,29711,29713],{"class":3753,"line":6377},[3751,29706,16686],{"class":3757},[3751,29708,12325],{"class":3811},[3751,29710,3601],{"class":3843},[3751,29712,4809],{"class":3811},[3751,29714,4605],{"class":3757},[3751,29716,29717,29719,29721],{"class":3753,"line":6385},[3751,29718,7861],{"class":3825},[3751,29720,12062],{"class":3829},[3751,29722,4468],{"class":3825},[3751,29724,29725,29727,29729,29731,29733,29735,29737,29739,29741,29743,29745,29748,29750],{"class":3753,"line":6390},[3751,29726,4494],{"class":3825},[3751,29728,12062],{"class":3829},[3751,29730,13190],{"class":3833},[3751,29732,3837],{"class":3761},[3751,29734,13517],{"class":3784},[3751,29736,5301],{"class":3833},[3751,29738,3837],{"class":3761},[3751,29740,3840],{"class":3757},[3751,29742,5308],{"class":3811},[3751,29744,3601],{"class":3843},[3751,29746,29747],{"class":3811},"dates",[3751,29749,3861],{"class":3757},[3751,29751,4468],{"class":3825},[3751,29753,29754,29756,29758,29760,29763],{"class":3753,"line":6395},[3751,29755,16686],{"class":3757},[3751,29757,12325],{"class":3811},[3751,29759,3601],{"class":3843},[3751,29761,29762],{"class":3811},"dateLabel",[3751,29764,4605],{"class":3757},[3751,29766,29767,29769,29771],{"class":3753,"line":6405},[3751,29768,7861],{"class":3825},[3751,29770,12062],{"class":3829},[3751,29772,4468],{"class":3825},[3751,29774,29775,29777,29779],{"class":3753,"line":6415},[3751,29776,4569],{"class":3825},[3751,29778,7319],{"class":3829},[3751,29780,4468],{"class":3825},[3751,29782,29783,29785,29787,29789,29791,29793,29795,29797,29799,29801,29803,29805,29807,29809,29811,29813,29815,29817,29819,29821],{"class":3753,"line":6425},[3751,29784,4484],{"class":3825},[3751,29786,12062],{"class":3829},[3751,29788,13190],{"class":3833},[3751,29790,3837],{"class":3761},[3751,29792,13517],{"class":3784},[3751,29794,7116],{"class":3833},[3751,29796,3837],{"class":3761},[3751,29798,3840],{"class":3757},[3751,29800,10934],{"class":3811},[3751,29802,3601],{"class":3843},[3751,29804,11055],{"class":3811},[3751,29806,3861],{"class":3757},[3751,29808,5301],{"class":3833},[3751,29810,3837],{"class":3761},[3751,29812,3840],{"class":3757},[3751,29814,5308],{"class":3811},[3751,29816,3601],{"class":3843},[3751,29818,7807],{"class":3811},[3751,29820,3861],{"class":3757},[3751,29822,4468],{"class":3825},[3751,29824,29825,29827,29829,29831,29833],{"class":3753,"line":6435},[3751,29826,13660],{"class":3757},[3751,29828,12325],{"class":3811},[3751,29830,3601],{"class":3843},[3751,29832,7807],{"class":3811},[3751,29834,4605],{"class":3757},[3751,29836,29837,29839,29841,29843],{"class":3753,"line":6440},[3751,29838,13660],{"class":3757},[3751,29840,12325],{"class":3811},[3751,29842,3601],{"class":3843},[3751,29844,29845],{"class":3811},"plannedDays\n",[3751,29847,29848,29850,29853,29855,29857,29859,29861,29863,29865,29867,29869,29871,29873,29875,29877,29879,29881,29883,29885],{"class":3753,"line":6448},[3751,29849,13677],{"class":3761},[3751,29851,29852],{"class":3784}," ` · ",[3751,29854,7696],{"class":3757},[3751,29856,12325],{"class":3811},[3751,29858,3601],{"class":3843},[3751,29860,22744],{"class":3811},[3751,29862,3861],{"class":3757},[3751,29864,19247],{"class":3757},[3751,29866,12325],{"class":3811},[3751,29868,3601],{"class":3843},[3751,29870,22744],{"class":3811},[3751,29872,10976],{"class":3761},[3751,29874,7928],{"class":7005},[3751,29876,10982],{"class":3761},[3751,29878,25896],{"class":3784},[3751,29880,10988],{"class":3761},[3751,29882,25928],{"class":3784},[3751,29884,3861],{"class":3757},[3751,29886,29887],{"class":3784},"`\n",[3751,29889,29890,29892,29894],{"class":3753,"line":6453},[3751,29891,13712],{"class":3761},[3751,29893,22384],{"class":3784},[3751,29895,4605],{"class":3757},[3751,29897,29898,29900,29902],{"class":3753,"line":6459},[3751,29899,4569],{"class":3825},[3751,29901,12062],{"class":3829},[3751,29903,4468],{"class":3825},[3751,29905,29906,29908,29910,29912,29914,29916,29919,29921,29923,29925,29927,29930],{"class":3753,"line":6464},[3751,29907,23067],{"class":3757},[3751,29909,3853],{"class":3843},[3751,29911,12325],{"class":3811},[3751,29913,3601],{"class":3843},[3751,29915,22731],{"class":3811},[3751,29917,29918],{"class":3761}," ||",[3751,29920,12576],{"class":3811},[3751,29922,3601],{"class":3843},[3751,29924,22757],{"class":3811},[3751,29926,3819],{"class":3843},[3751,29928,29929],{"class":3761},"&&",[3751,29931,4458],{"class":3843},[3751,29933,29934,29936,29938,29940,29942,29944,29946,29948,29950,29953,29955,29957,29959,29961,29963,29965,29967,29969,29971,29973,29975,29977],{"class":3753,"line":6496},[3751,29935,4494],{"class":3825},[3751,29937,7319],{"class":3829},[3751,29939,5301],{"class":3833},[3751,29941,3837],{"class":3761},[3751,29943,3840],{"class":3757},[3751,29945,7436],{"class":3843},[3751,29947,5308],{"class":3811},[3751,29949,3601],{"class":3843},[3751,29951,29952],{"class":3811},"badges",[3751,29954,13756],{"class":3843},[3751,29956,8630],{"class":3811},[3751,29958,12688],{"class":3811},[3751,29960,3601],{"class":3843},[3751,29962,13443],{"class":3811},[3751,29964,3640],{"class":3843},[3751,29966,8031],{"class":3811},[3751,29968,12688],{"class":3811},[3751,29970,3601],{"class":3843},[3751,29972,13443],{"class":3811},[3751,29974,13777],{"class":3843},[3751,29976,3861],{"class":3757},[3751,29978,4468],{"class":3825},[3751,29980,29981,29983,29985,29987,29989,29991],{"class":3753,"line":6531},[3751,29982,16686],{"class":3757},[3751,29984,12325],{"class":3811},[3751,29986,3601],{"class":3843},[3751,29988,22731],{"class":3811},[3751,29990,10982],{"class":3761},[3751,29992,4458],{"class":3843},[3751,29994,29995,29997],{"class":3753,"line":8184},[3751,29996,7740],{"class":3825},[3751,29998,13235],{"class":3829},[3751,30000,30001,30004,30006],{"class":3753,"line":8192},[3751,30002,30003],{"class":3833},"                variant",[3751,30005,3837],{"class":3761},[3751,30007,13246],{"class":3784},[3751,30009,30010,30012,30014,30016,30018,30020,30022,30025,30027,30029,30031,30033,30035,30037],{"class":3753,"line":8202},[3751,30011,13899],{"class":3833},[3751,30013,3837],{"class":3761},[3751,30015,3840],{"class":3757},[3751,30017,7436],{"class":3843},[3751,30019,5308],{"class":3811},[3751,30021,3601],{"class":3843},[3751,30023,30024],{"class":3811},"badge",[3751,30026,13756],{"class":3843},[3751,30028,6693],{"class":3811},[3751,30030,11021],{"class":3811},[3751,30032,3601],{"class":3843},[3751,30034,4980],{"class":3811},[3751,30036,13777],{"class":3843},[3751,30038,4605],{"class":3757},[3751,30040,30041],{"class":3753,"line":8212},[3751,30042,14044],{"class":3825},[3751,30044,30045],{"class":3753,"line":8222},[3751,30046,30047],{"class":3843},"                приватна\n",[3751,30049,30050,30052,30054],{"class":3753,"line":8232},[3751,30051,14149],{"class":3825},[3751,30053,12062],{"class":3829},[3751,30055,4468],{"class":3825},[3751,30057,30058,30061,30063],{"class":3753,"line":8237},[3751,30059,30060],{"class":3843},"            ) ",[3751,30062,5658],{"class":3761},[3751,30064,13011],{"class":3757},[3751,30066,30067,30069,30071,30073,30075,30077],{"class":3753,"line":12660},[3751,30068,16686],{"class":3757},[3751,30070,12325],{"class":3811},[3751,30072,3601],{"class":3843},[3751,30074,22757],{"class":3811},[3751,30076,10982],{"class":3761},[3751,30078,4458],{"class":3843},[3751,30080,30081,30083],{"class":3753,"line":12671},[3751,30082,7740],{"class":3825},[3751,30084,13235],{"class":3829},[3751,30086,30087,30089,30091],{"class":3753,"line":12713},[3751,30088,30003],{"class":3833},[3751,30090,3837],{"class":3761},[3751,30092,13246],{"class":3784},[3751,30094,30095,30097,30099,30101,30103,30105,30107,30109,30111,30113,30115,30117,30119,30121],{"class":3753,"line":12735},[3751,30096,13899],{"class":3833},[3751,30098,3837],{"class":3761},[3751,30100,3840],{"class":3757},[3751,30102,7436],{"class":3843},[3751,30104,5308],{"class":3811},[3751,30106,3601],{"class":3843},[3751,30108,30024],{"class":3811},[3751,30110,13756],{"class":3843},[3751,30112,6693],{"class":3811},[3751,30114,11021],{"class":3811},[3751,30116,3601],{"class":3843},[3751,30118,11055],{"class":3811},[3751,30120,13777],{"class":3843},[3751,30122,4605],{"class":3757},[3751,30124,30125],{"class":3753,"line":12765},[3751,30126,14044],{"class":3825},[3751,30128,30129],{"class":3753,"line":12799},[3751,30130,30131],{"class":3843},"                є план\n",[3751,30133,30134,30136,30138],{"class":3753,"line":12806},[3751,30135,14149],{"class":3825},[3751,30137,12062],{"class":3829},[3751,30139,4468],{"class":3825},[3751,30141,30142,30144,30146],{"class":3753,"line":12812},[3751,30143,30060],{"class":3843},[3751,30145,5658],{"class":3761},[3751,30147,13011],{"class":3757},[3751,30149,30150,30152,30154],{"class":3753,"line":12826},[3751,30151,7861],{"class":3825},[3751,30153,7319],{"class":3829},[3751,30155,4468],{"class":3825},[3751,30157,30158,30160],{"class":3753,"line":12852},[3751,30159,7870],{"class":3843},[3751,30161,4605],{"class":3757},[3751,30163,30164,30166],{"class":3753,"line":12872},[3751,30165,4484],{"class":3825},[3751,30167,13235],{"class":3829},[3751,30169,30170,30173,30175,30177,30179],{"class":3753,"line":12904},[3751,30171,30172],{"class":3833},"          numberOfLines",[3751,30174,3837],{"class":3761},[3751,30176,3840],{"class":3757},[3751,30178,15547],{"class":7005},[3751,30180,4605],{"class":3757},[3751,30182,30183,30185,30187,30189,30191,30193,30195,30197,30199,30201,30203,30205,30207,30209,30211],{"class":3753,"line":12912},[3751,30184,13597],{"class":3833},[3751,30186,3837],{"class":3761},[3751,30188,3840],{"class":3757},[3751,30190,4515],{"class":3843},[3751,30192,8031],{"class":3811},[3751,30194,12688],{"class":3811},[3751,30196,3601],{"class":3843},[3751,30198,13443],{"class":3811},[3751,30200,3640],{"class":3843},[3751,30202,6693],{"class":3811},[3751,30204,11021],{"class":3811},[3751,30206,3601],{"class":3843},[3751,30208,4980],{"class":3811},[3751,30210,4524],{"class":3843},[3751,30212,4605],{"class":3757},[3751,30214,30215],{"class":3753,"line":12923},[3751,30216,13654],{"class":3825},[3751,30218,30219,30221,30223,30225,30227],{"class":3753,"line":12966},[3751,30220,13660],{"class":3757},[3751,30222,12325],{"class":3811},[3751,30224,3601],{"class":3843},[3751,30226,9322],{"class":3811},[3751,30228,4605],{"class":3757},[3751,30230,30231,30233,30235],{"class":3753,"line":12988},[3751,30232,4569],{"class":3825},[3751,30234,12062],{"class":3829},[3751,30236,4468],{"class":3825},[3751,30238,30239,30241,30243,30245,30247,30249,30251,30253,30255,30257,30259,30261,30263,30265,30267,30269,30271],{"class":3753,"line":12994},[3751,30240,4484],{"class":3825},[3751,30242,7319],{"class":3829},[3751,30244,5301],{"class":3833},[3751,30246,3837],{"class":3761},[3751,30248,3840],{"class":3757},[3751,30250,7436],{"class":3843},[3751,30252,5308],{"class":3811},[3751,30254,3601],{"class":3843},[3751,30256,14551],{"class":3811},[3751,30258,13756],{"class":3843},[3751,30260,8031],{"class":3811},[3751,30262,12688],{"class":3811},[3751,30264,3601],{"class":3843},[3751,30266,12756],{"class":3811},[3751,30268,13777],{"class":3843},[3751,30270,3861],{"class":3757},[3751,30272,4468],{"class":3825},[3751,30274,30275,30277,30279,30281,30283,30285,30287,30289,30291,30293,30295,30297,30299],{"class":3753,"line":13003},[3751,30276,4494],{"class":3825},[3751,30278,12062],{"class":3829},[3751,30280,13190],{"class":3833},[3751,30282,3837],{"class":3761},[3751,30284,13517],{"class":3784},[3751,30286,7116],{"class":3833},[3751,30288,3837],{"class":3761},[3751,30290,3840],{"class":3757},[3751,30292,10934],{"class":3811},[3751,30294,3601],{"class":3843},[3751,30296,11055],{"class":3811},[3751,30298,3861],{"class":3757},[3751,30300,4468],{"class":3825},[3751,30302,30303],{"class":3753,"line":13014},[3751,30304,30305],{"class":3761},"            Відкрити\n",[3751,30307,30308,30310,30312],{"class":3753,"line":13019},[3751,30309,7861],{"class":3825},[3751,30311,12062],{"class":3829},[3751,30313,4468],{"class":3825},[3751,30315,30316,30318,30320],{"class":3753,"line":13053},[3751,30317,4569],{"class":3825},[3751,30319,7319],{"class":3829},[3751,30321,4468],{"class":3825},[3751,30323,30324,30326,30328],{"class":3753,"line":13062},[3751,30325,4579],{"class":3825},[3751,30327,7319],{"class":3829},[3751,30329,4468],{"class":3825},[3751,30331,30332,30334,30336],{"class":3753,"line":13067},[3751,30333,4589],{"class":3825},[3751,30335,5298],{"class":3829},[3751,30337,4468],{"class":3825},[3751,30339,30340],{"class":3753,"line":13072},[3751,30341,4599],{"class":3761},[3751,30343,30344],{"class":3753,"line":13082},[3751,30345,4605],{"class":3761},[3751,30347,30348],{"class":3753,"line":13090},[3751,30349,5213],{"emptyLinePlaceholder":5212},[3751,30351,30352],{"class":3753,"line":13103},[3751,30353,30354],{"class":5471},"\u002F** memo: рядок списку не перемальовується, якщо props ті самі. *\u002F\n",[3751,30356,30357,30359,30361,30364,30366,30368,30370,30373],{"class":3753,"line":13116},[3751,30358,4438],{"class":3805},[3751,30360,6119],{"class":3757},[3751,30362,30363],{"class":3765}," TripCard",[3751,30365,5457],{"class":3761},[3751,30367,29127],{"class":3777},[3751,30369,3853],{"class":3761},[3751,30371,30372],{"class":3811},"TripCardComponent",[3751,30374,3799],{"class":3761},[3751,30376,30377],{"class":3753,"line":13122},[3751,30378,5213],{"emptyLinePlaceholder":5212},[3751,30380,30381,30383,30385,30387,30389,30391,30393],{"class":3753,"line":13136},[3751,30382,3758],{"class":3757},[3751,30384,7903],{"class":3765},[3751,30386,5457],{"class":3761},[3751,30388,7310],{"class":3811},[3751,30390,3601],{"class":3761},[3751,30392,7912],{"class":3777},[3751,30394,7915],{"class":3761},[3751,30396,30397,30399],{"class":3753,"line":13151},[3751,30398,8076],{"class":3811},[3751,30400,6493],{"class":3761},[3751,30402,30403,30405,30407],{"class":3753,"line":13165},[3751,30404,8102],{"class":3811},[3751,30406,7928],{"class":7005},[3751,30408,6146],{"class":3761},[3751,30410,30411,30413,30415],{"class":3753,"line":13170},[3751,30412,26058],{"class":3811},[3751,30414,26061],{"class":3784},[3751,30416,6146],{"class":3761},[3751,30418,30419,30422,30424,30426,30429],{"class":3753,"line":13178},[3751,30420,30421],{"class":3761},"    ...",[3751,30423,22836],{"class":3811},[3751,30425,3601],{"class":3761},[3751,30427,30428],{"class":3777},"select",[3751,30430,7915],{"class":3761},[3751,30432,30433,30436],{"class":3753,"line":13183},[3751,30434,30435],{"class":3811},"      ios:",[3751,30437,6493],{"class":3761},[3751,30439,30440,30443,30446],{"class":3753,"line":13215},[3751,30441,30442],{"class":3811},"        shadowColor:",[3751,30444,30445],{"class":3784}," '#000'",[3751,30447,6146],{"class":3761},[3751,30449,30450,30453,30456],{"class":3753,"line":13221},[3751,30451,30452],{"class":3811},"        shadowOpacity:",[3751,30454,30455],{"class":7005}," 0.08",[3751,30457,6146],{"class":3761},[3751,30459,30460,30463,30465],{"class":3753,"line":13230},[3751,30461,30462],{"class":3811},"        shadowRadius:",[3751,30464,7650],{"class":7005},[3751,30466,6146],{"class":3761},[3751,30468,30469,30472,30474,30476,30478,30480,30482,30484],{"class":3753,"line":13238},[3751,30470,30471],{"class":3811},"        shadowOffset:",[3751,30473,5176],{"class":3761},[3751,30475,12949],{"class":3811},[3751,30477,12728],{"class":7005},[3751,30479,3640],{"class":3761},[3751,30481,7647],{"class":3811},[3751,30483,8034],{"class":7005},[3751,30485,6665],{"class":3761},[3751,30487,30488],{"class":3753,"line":13249},[3751,30489,10612],{"class":3761},[3751,30491,30492,30495],{"class":3753,"line":13267},[3751,30493,30494],{"class":3811},"      android:",[3751,30496,6493],{"class":3761},[3751,30498,30499,30502,30504],{"class":3753,"line":13286},[3751,30500,30501],{"class":3811},"        elevation:",[3751,30503,22449],{"class":7005},[3751,30505,6146],{"class":3761},[3751,30507,30508],{"class":3753,"line":13291},[3751,30509,10612],{"class":3761},[3751,30511,30512,30515],{"class":3753,"line":13297},[3751,30513,30514],{"class":3811},"      default:",[3751,30516,30517],{"class":3761}," {},\n",[3751,30519,30520],{"class":3753,"line":13306},[3751,30521,18735],{"class":3761},[3751,30523,30524],{"class":3753,"line":13315},[3751,30525,6198],{"class":3761},[3751,30527,30528,30531],{"class":3753,"line":13320},[3751,30529,30530],{"class":3811},"  cardPressed:",[3751,30532,6493],{"class":3761},[3751,30534,30535,30538,30541],{"class":3753,"line":13325},[3751,30536,30537],{"class":3811},"    opacity:",[3751,30539,30540],{"class":7005}," 0.92",[3751,30542,6146],{"class":3761},[3751,30544,30545],{"class":3753,"line":13332},[3751,30546,6198],{"class":3761},[3751,30548,30549,30552],{"class":3753,"line":13355},[3751,30550,30551],{"class":3811},"  cover:",[3751,30553,6493],{"class":3761},[3751,30555,30556,30558,30560],{"class":3753,"line":13362},[3751,30557,28942],{"class":3811},[3751,30559,28945],{"class":3784},[3751,30561,6146],{"class":3761},[3751,30563,30564,30567,30570],{"class":3753,"line":13373},[3751,30565,30566],{"class":3811},"    height:",[3751,30568,30569],{"class":7005}," 160",[3751,30571,6146],{"class":3761},[3751,30573,30574],{"class":3753,"line":13385},[3751,30575,6198],{"class":3761},[3751,30577,30578,30580],{"class":3753,"line":13391},[3751,30579,8619],{"class":3811},[3751,30581,30517],{"class":3761},[3751,30583,30584,30587],{"class":3753,"line":13405},[3751,30585,30586],{"class":3811},"  titleRow:",[3751,30588,6493],{"class":3761},[3751,30590,30591,30593,30595],{"class":3753,"line":13419},[3751,30592,14812],{"class":3811},[3751,30594,14815],{"class":3784},[3751,30596,6146],{"class":3761},[3751,30598,30599,30601,30603],{"class":3753,"line":13433},[3751,30600,9429],{"class":3811},[3751,30602,9422],{"class":3784},[3751,30604,6146],{"class":3761},[3751,30606,30607],{"class":3753,"line":13448},[3751,30608,6198],{"class":3761},[3751,30610,30611,30614],{"class":3753,"line":13462},[3751,30612,30613],{"class":3811},"  titleFlex:",[3751,30615,6493],{"class":3761},[3751,30617,30618,30620,30622],{"class":3753,"line":13468},[3751,30619,9402],{"class":3811},[3751,30621,7928],{"class":7005},[3751,30623,6146],{"class":3761},[3751,30625,30626],{"class":3753,"line":13476},[3751,30627,6198],{"class":3761},[3751,30629,30630,30633],{"class":3753,"line":13481},[3751,30631,30632],{"class":3811},"  dates:",[3751,30634,6493],{"class":3761},[3751,30636,30637,30639,30641],{"class":3753,"line":13506},[3751,30638,29073],{"class":3811},[3751,30640,12728],{"class":7005},[3751,30642,6146],{"class":3761},[3751,30644,30645],{"class":3753,"line":13542},[3751,30646,6198],{"class":3761},[3751,30648,30649,30652],{"class":3753,"line":13568},[3751,30650,30651],{"class":3811},"  region:",[3751,30653,6493],{"class":3761},[3751,30655,30656,30658,30660],{"class":3753,"line":13577},[3751,30657,8215],{"class":3811},[3751,30659,6688],{"class":3784},[3751,30661,6146],{"class":3761},[3751,30663,30664],{"class":3753,"line":13584},[3751,30665,6198],{"class":3761},[3751,30667,30668,30671],{"class":3753,"line":13594},[3751,30669,30670],{"class":3811},"  badges:",[3751,30672,6493],{"class":3761},[3751,30674,30675,30677,30679],{"class":3753,"line":13606},[3751,30676,14812],{"class":3811},[3751,30678,14815],{"class":3784},[3751,30680,6146],{"class":3761},[3751,30682,30683,30685,30687],{"class":3753,"line":13620},[3751,30684,14823],{"class":3811},[3751,30686,14826],{"class":3784},[3751,30688,6146],{"class":3761},[3751,30690,30691],{"class":3753,"line":13634},[3751,30692,6198],{"class":3761},[3751,30694,30695,30698],{"class":3753,"line":13644},[3751,30696,30697],{"class":3811},"  badge:",[3751,30699,6493],{"class":3761},[3751,30701,30702,30704,30706],{"class":3753,"line":13651},[3751,30703,8215],{"class":3811},[3751,30705,6688],{"class":3784},[3751,30707,6146],{"class":3761},[3751,30709,30710,30712,30714],{"class":3753,"line":13657},[3751,30711,8225],{"class":3811},[3751,30713,7006],{"class":7005},[3751,30715,6146],{"class":3761},[3751,30717,30718],{"class":3753,"line":13674},[3751,30719,6198],{"class":3761},[3751,30721,30722,30724],{"class":3753,"line":13709},[3751,30723,15009],{"class":3811},[3751,30725,6493],{"class":3761},[3751,30727,30728,30730,30733],{"class":3753,"line":13720},[3751,30729,9429],{"class":3811},[3751,30731,30732],{"class":3784}," 'flex-start'",[3751,30734,6146],{"class":3761},[3751,30736,30737],{"class":3753,"line":13729},[3751,30738,6198],{"class":3761},[3751,30740,30741],{"class":3753,"line":13734},[3751,30742,8240],{"class":3761},[3742,30744,30747],{"className":3744,"code":30745,"filename":30746,"language":3746,"meta":3747,"style":3747},"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",[3521,30748,30749,30765,30785,30789,30807,30823,30839,30843,30852,30863,30883,30887,30891,30913,30935,30939,30945,30951,30959,30996,31018,31036,31047,31051,31063,31075,31087,31100,31119,31123,31129,31133,31171,31183,31191,31233,31245,31253,31291,31303,31311,31319,31323,31327,31331,31351,31355,31371,31378,31386,31394,31403,31407,31414,31422,31426,31433,31441,31449,31453,31460,31469,31473],{"__ignoreMap":3747},[3751,30750,30751,30753,30755,30757,30759,30761,30763],{"class":3753,"line":3754},[3751,30752,5173],{"class":3805},[3751,30754,5176],{"class":3761},[3751,30756,29127],{"class":3811},[3751,30758,5181],{"class":3761},[3751,30760,5184],{"class":3805},[3751,30762,11874],{"class":3784},[3751,30764,3867],{"class":3761},[3751,30766,30767,30769,30771,30773,30775,30777,30779,30781,30783],{"class":3753,"line":3802},[3751,30768,5173],{"class":3805},[3751,30770,5176],{"class":3761},[3751,30772,5298],{"class":3811},[3751,30774,3640],{"class":3761},[3751,30776,7310],{"class":3811},[3751,30778,5181],{"class":3761},[3751,30780,5184],{"class":3805},[3751,30782,5205],{"class":3784},[3751,30784,3867],{"class":3761},[3751,30786,30787],{"class":3753,"line":3870},[3751,30788,5213],{"emptyLinePlaceholder":5212},[3751,30790,30791,30793,30795,30797,30799,30801,30803,30805],{"class":3753,"line":4471},[3751,30792,5173],{"class":3805},[3751,30794,6041],{"class":3805},[3751,30796,5176],{"class":3761},[3751,30798,12273],{"class":3811},[3751,30800,5181],{"class":3761},[3751,30802,5184],{"class":3805},[3751,30804,21901],{"class":3784},[3751,30806,3867],{"class":3761},[3751,30808,30809,30811,30813,30815,30817,30819,30821],{"class":3753,"line":4481},[3751,30810,5173],{"class":3805},[3751,30812,5176],{"class":3761},[3751,30814,10882],{"class":3811},[3751,30816,5181],{"class":3761},[3751,30818,5184],{"class":3805},[3751,30820,10889],{"class":3784},[3751,30822,3867],{"class":3761},[3751,30824,30825,30827,30829,30831,30833,30835,30837],{"class":3753,"line":4491},[3751,30826,5173],{"class":3805},[3751,30828,5176],{"class":3761},[3751,30830,12062],{"class":3811},[3751,30832,5181],{"class":3761},[3751,30834,5184],{"class":3805},[3751,30836,12078],{"class":3784},[3751,30838,3867],{"class":3761},[3751,30840,30841],{"class":3753,"line":4532},[3751,30842,5213],{"emptyLinePlaceholder":5212},[3751,30844,30845,30847,30850],{"class":3753,"line":4566},[3751,30846,12042],{"class":3757},[3751,30848,30849],{"class":3829}," PlaceChipProps",[3751,30851,6047],{"class":3761},[3751,30853,30854,30857,30859,30861],{"class":3753,"line":4576},[3751,30855,30856],{"class":3811},"  place",[3751,30858,4806],{"class":3761},[3751,30860,12273],{"class":3829},[3751,30862,3867],{"class":3761},[3751,30864,30865,30867,30869,30871,30873,30875,30877,30879,30881],{"class":3753,"line":4586},[3751,30866,29251],{"class":3777},[3751,30868,29254],{"class":3761},[3751,30870,12394],{"class":3811},[3751,30872,4806],{"class":3761},[3751,30874,12273],{"class":3829},[3751,30876,3819],{"class":3761},[3751,30878,3847],{"class":3757},[3751,30880,19834],{"class":3829},[3751,30882,3867],{"class":3761},[3751,30884,30885],{"class":3753,"line":4596},[3751,30886,6108],{"class":3761},[3751,30888,30889],{"class":3753,"line":4602},[3751,30890,5213],{"emptyLinePlaceholder":5212},[3751,30892,30893,30895,30898,30900,30902,30904,30906,30908,30911],{"class":3753,"line":6159},[3751,30894,10920],{"class":3757},[3751,30896,30897],{"class":3777}," PlaceChipComponent",[3751,30899,7670],{"class":3761},[3751,30901,12394],{"class":3811},[3751,30903,3640],{"class":3761},[3751,30905,5381],{"class":3811},[3751,30907,19941],{"class":3761},[3751,30909,30910],{"class":3829},"PlaceChipProps",[3751,30912,8964],{"class":3761},[3751,30914,30915,30917,30919,30921,30923,30925,30927,30929,30931,30933],{"class":3753,"line":6170},[3751,30916,8859],{"class":3757},[3751,30918,5176],{"class":3761},[3751,30920,10934],{"class":3765},[3751,30922,3640],{"class":3761},[3751,30924,12236],{"class":3765},[3751,30926,3640],{"class":3761},[3751,30928,22266],{"class":3765},[3751,30930,8866],{"class":3761},[3751,30932,10882],{"class":3777},[3751,30934,5462],{"class":3761},[3751,30936,30937],{"class":3753,"line":6181},[3751,30938,5213],{"emptyLinePlaceholder":5212},[3751,30940,30941,30943],{"class":3753,"line":6187},[3751,30942,4455],{"class":3805},[3751,30944,4458],{"class":3761},[3751,30946,30947,30949],{"class":3753,"line":6195},[3751,30948,4463],{"class":3825},[3751,30950,13846],{"class":3829},[3751,30952,30953,30955,30957],{"class":3753,"line":6201},[3751,30954,29341],{"class":3833},[3751,30956,3837],{"class":3761},[3751,30958,13990],{"class":3784},[3751,30960,30961,30963,30965,30967,30970,30972,30974,30976,30978,30980,30982,30984,30986,30988,30990,30992,30994],{"class":3753,"line":6206},[3751,30962,29350],{"class":3833},[3751,30964,3837],{"class":3761},[3751,30966,3840],{"class":3757},[3751,30968,30969],{"class":3784},"`Місце ",[3751,30971,7696],{"class":3757},[3751,30973,12394],{"class":3811},[3751,30975,3601],{"class":3843},[3751,30977,4801],{"class":3811},[3751,30979,3861],{"class":3757},[3751,30981,3640],{"class":3784},[3751,30983,7696],{"class":3757},[3751,30985,12394],{"class":3811},[3751,30987,3601],{"class":3843},[3751,30989,8961],{"class":3811},[3751,30991,3861],{"class":3757},[3751,30993,7707],{"class":3784},[3751,30995,4605],{"class":3757},[3751,30997,30998,31000,31002,31004,31006,31008,31010,31012,31014,31016],{"class":3753,"line":6216},[3751,30999,29376],{"class":3833},[3751,31001,3837],{"class":3761},[3751,31003,3840],{"class":3757},[3751,31005,3844],{"class":3843},[3751,31007,3847],{"class":3757},[3751,31009,12587],{"class":3777},[3751,31011,29389],{"class":3843},[3751,31013,12394],{"class":3811},[3751,31015,3858],{"class":3843},[3751,31017,4605],{"class":3757},[3751,31019,31020,31022,31024,31026,31028,31030,31032,31034],{"class":3753,"line":6226},[3751,31021,13093],{"class":3833},[3751,31023,3837],{"class":3761},[3751,31025,3840],{"class":3757},[3751,31027,7670],{"class":3843},[3751,31029,29408],{"class":3811},[3751,31031,7084],{"class":3843},[3751,31033,3847],{"class":3757},[3751,31035,29415],{"class":3843},[3751,31037,31038,31040,31042,31045],{"class":3753,"line":6236},[3751,31039,13106],{"class":3811},[3751,31041,3601],{"class":3843},[3751,31043,31044],{"class":3811},"chip",[3751,31046,6146],{"class":3843},[3751,31048,31049],{"class":3753,"line":6246},[3751,31050,13119],{"class":3843},[3751,31052,31053,31055,31057,31059,31061],{"class":3753,"line":6251},[3751,31054,6973],{"class":3811},[3751,31056,11021],{"class":3811},[3751,31058,3601],{"class":3843},[3751,31060,13949],{"class":3811},[3751,31062,6146],{"class":3843},[3751,31064,31065,31067,31069,31071,31073],{"class":3753,"line":6259},[3751,31066,29446],{"class":3811},[3751,31068,11021],{"class":3811},[3751,31070,3601],{"class":3843},[3751,31072,11482],{"class":3811},[3751,31074,6146],{"class":3843},[3751,31076,31077,31079,31081,31083,31085],{"class":3753,"line":6264},[3751,31078,29459],{"class":3811},[3751,31080,23487],{"class":3811},[3751,31082,3601],{"class":3843},[3751,31084,12693],{"class":3811},[3751,31086,6146],{"class":3843},[3751,31088,31089,31092,31094,31096,31098],{"class":3753,"line":6269},[3751,31090,31091],{"class":3811},"          padding:",[3751,31093,12688],{"class":3811},[3751,31095,3601],{"class":3843},[3751,31097,12756],{"class":3811},[3751,31099,6146],{"class":3843},[3751,31101,31102,31105,31108,31110,31113,31115,31117],{"class":3753,"line":6279},[3751,31103,31104],{"class":3811},"          opacity:",[3751,31106,31107],{"class":3811}," pressed",[3751,31109,10982],{"class":3761},[3751,31111,31112],{"class":7005}," 0.9",[3751,31114,10988],{"class":3761},[3751,31116,7928],{"class":7005},[3751,31118,6146],{"class":3843},[3751,31120,31121],{"class":3753,"line":6289},[3751,31122,6992],{"class":3843},[3751,31124,31125,31127],{"class":3753,"line":6299},[3751,31126,13173],{"class":3843},[3751,31128,4605],{"class":3757},[3751,31130,31131],{"class":3753,"line":6309},[3751,31132,7026],{"class":3825},[3751,31134,31135,31137,31139,31141,31143,31145,31147,31149,31151,31153,31155,31157,31159,31161,31163,31165,31167,31169],{"class":3753,"line":6314},[3751,31136,4474],{"class":3825},[3751,31138,12062],{"class":3829},[3751,31140,13190],{"class":3833},[3751,31142,3837],{"class":3761},[3751,31144,13195],{"class":3784},[3751,31146,29677],{"class":3833},[3751,31148,3837],{"class":3761},[3751,31150,3840],{"class":3757},[3751,31152,18887],{"class":7005},[3751,31154,3861],{"class":3757},[3751,31156,5301],{"class":3833},[3751,31158,3837],{"class":3761},[3751,31160,3840],{"class":3757},[3751,31162,5308],{"class":3811},[3751,31164,3601],{"class":3843},[3751,31166,4801],{"class":3811},[3751,31168,3861],{"class":3757},[3751,31170,4468],{"class":3825},[3751,31172,31173,31175,31177,31179,31181],{"class":3753,"line":6322},[3751,31174,23067],{"class":3757},[3751,31176,12394],{"class":3811},[3751,31178,3601],{"class":3843},[3751,31180,4801],{"class":3811},[3751,31182,4605],{"class":3757},[3751,31184,31185,31187,31189],{"class":3753,"line":6327},[3751,31186,4579],{"class":3825},[3751,31188,12062],{"class":3829},[3751,31190,4468],{"class":3825},[3751,31192,31193,31195,31197,31199,31201,31203,31205,31207,31209,31211,31213,31215,31217,31219,31221,31223,31225,31227,31229,31231],{"class":3753,"line":6332},[3751,31194,4474],{"class":3825},[3751,31196,12062],{"class":3829},[3751,31198,13190],{"class":3833},[3751,31200,3837],{"class":3761},[3751,31202,13517],{"class":3784},[3751,31204,7116],{"class":3833},[3751,31206,3837],{"class":3761},[3751,31208,3840],{"class":3757},[3751,31210,10934],{"class":3811},[3751,31212,3601],{"class":3843},[3751,31214,11055],{"class":3811},[3751,31216,3861],{"class":3757},[3751,31218,5301],{"class":3833},[3751,31220,3837],{"class":3761},[3751,31222,3840],{"class":3757},[3751,31224,5308],{"class":3811},[3751,31226,3601],{"class":3843},[3751,31228,8961],{"class":3811},[3751,31230,3861],{"class":3757},[3751,31232,4468],{"class":3825},[3751,31234,31235,31237,31239,31241,31243],{"class":3753,"line":6342},[3751,31236,23067],{"class":3757},[3751,31238,12394],{"class":3811},[3751,31240,3601],{"class":3843},[3751,31242,8961],{"class":3811},[3751,31244,4605],{"class":3757},[3751,31246,31247,31249,31251],{"class":3753,"line":6352},[3751,31248,4579],{"class":3825},[3751,31250,12062],{"class":3829},[3751,31252,4468],{"class":3825},[3751,31254,31255,31257,31259,31261,31263,31265,31267,31269,31271,31273,31275,31277,31279,31281,31283,31285,31287,31289],{"class":3753,"line":6362},[3751,31256,4474],{"class":3825},[3751,31258,12062],{"class":3829},[3751,31260,13190],{"class":3833},[3751,31262,3837],{"class":3761},[3751,31264,13517],{"class":3784},[3751,31266,29677],{"class":3833},[3751,31268,3837],{"class":3761},[3751,31270,3840],{"class":3757},[3751,31272,15547],{"class":7005},[3751,31274,3861],{"class":3757},[3751,31276,5301],{"class":3833},[3751,31278,3837],{"class":3761},[3751,31280,3840],{"class":3757},[3751,31282,5308],{"class":3811},[3751,31284,3601],{"class":3843},[3751,31286,3677],{"class":3811},[3751,31288,3861],{"class":3757},[3751,31290,4468],{"class":3825},[3751,31292,31293,31295,31297,31299,31301],{"class":3753,"line":6372},[3751,31294,23067],{"class":3757},[3751,31296,12394],{"class":3811},[3751,31298,3601],{"class":3843},[3751,31300,3677],{"class":3811},[3751,31302,4605],{"class":3757},[3751,31304,31305,31307,31309],{"class":3753,"line":6377},[3751,31306,4579],{"class":3825},[3751,31308,12062],{"class":3829},[3751,31310,4468],{"class":3825},[3751,31312,31313,31315,31317],{"class":3753,"line":6385},[3751,31314,4589],{"class":3825},[3751,31316,5298],{"class":3829},[3751,31318,4468],{"class":3825},[3751,31320,31321],{"class":3753,"line":6390},[3751,31322,4599],{"class":3761},[3751,31324,31325],{"class":3753,"line":6395},[3751,31326,4605],{"class":3761},[3751,31328,31329],{"class":3753,"line":6405},[3751,31330,5213],{"emptyLinePlaceholder":5212},[3751,31332,31333,31335,31337,31340,31342,31344,31346,31349],{"class":3753,"line":6415},[3751,31334,4438],{"class":3805},[3751,31336,6119],{"class":3757},[3751,31338,31339],{"class":3765}," PlaceChip",[3751,31341,5457],{"class":3761},[3751,31343,29127],{"class":3777},[3751,31345,3853],{"class":3761},[3751,31347,31348],{"class":3811},"PlaceChipComponent",[3751,31350,3799],{"class":3761},[3751,31352,31353],{"class":3753,"line":6425},[3751,31354,5213],{"emptyLinePlaceholder":5212},[3751,31356,31357,31359,31361,31363,31365,31367,31369],{"class":3753,"line":6435},[3751,31358,3758],{"class":3757},[3751,31360,7903],{"class":3765},[3751,31362,5457],{"class":3761},[3751,31364,7310],{"class":3811},[3751,31366,3601],{"class":3761},[3751,31368,7912],{"class":3777},[3751,31370,7915],{"class":3761},[3751,31372,31373,31376],{"class":3753,"line":6440},[3751,31374,31375],{"class":3811},"  chip:",[3751,31377,6493],{"class":3761},[3751,31379,31380,31382,31384],{"class":3753,"line":6448},[3751,31381,28942],{"class":3811},[3751,31383,30569],{"class":7005},[3751,31385,6146],{"class":3761},[3751,31387,31388,31390,31392],{"class":3753,"line":6453},[3751,31389,8102],{"class":3811},[3751,31391,7928],{"class":7005},[3751,31393,6146],{"class":3761},[3751,31395,31396,31398,31401],{"class":3753,"line":6459},[3751,31397,26025],{"class":3811},[3751,31399,31400],{"class":7005}," 96",[3751,31402,6146],{"class":3761},[3751,31404,31405],{"class":3753,"line":6464},[3751,31406,6198],{"class":3761},[3751,31408,31409,31412],{"class":3753,"line":6496},[3751,31410,31411],{"class":3811},"  name:",[3751,31413,6493],{"class":3761},[3751,31415,31416,31418,31420],{"class":3753,"line":6531},[3751,31417,8225],{"class":3811},[3751,31419,7951],{"class":7005},[3751,31421,6146],{"class":3761},[3751,31423,31424],{"class":3753,"line":8184},[3751,31425,6198],{"class":3761},[3751,31427,31428,31431],{"class":3753,"line":8192},[3751,31429,31430],{"class":3811},"  city:",[3751,31432,6493],{"class":3761},[3751,31434,31435,31437,31439],{"class":3753,"line":8202},[3751,31436,8195],{"class":3811},[3751,31438,8034],{"class":7005},[3751,31440,6146],{"class":3761},[3751,31442,31443,31445,31447],{"class":3753,"line":8212},[3751,31444,8215],{"class":3811},[3751,31446,6688],{"class":3784},[3751,31448,6146],{"class":3761},[3751,31450,31451],{"class":3753,"line":8222},[3751,31452,6198],{"class":3761},[3751,31454,31455,31458],{"class":3753,"line":8232},[3751,31456,31457],{"class":3811},"  note:",[3751,31459,6493],{"class":3761},[3751,31461,31462,31464,31467],{"class":3753,"line":8237},[3751,31463,8195],{"class":3811},[3751,31465,31466],{"class":7005}," 6",[3751,31468,6146],{"class":3761},[3751,31470,31471],{"class":3753,"line":12660},[3751,31472,6198],{"class":3761},[3751,31474,31475],{"class":3753,"line":12671},[3751,31476,8240],{"class":3761},[3742,31478,31481],{"className":6030,"code":31479,"filename":31480,"language":6032,"meta":3747,"style":3747},"\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",[3521,31482,31483,31487,31492,31497,31501,31505,31516,31525,31534,31543,31552,31561,31571,31580,31590,31599,31609,31613,31624,31633,31642,31651,31660,31669,31677,31686,31695,31703,31713,31717,31728,31754,31758,31762,31783,31787,31812,31838],{"__ignoreMap":3747},[3751,31484,31485],{"class":3753,"line":3754},[3751,31486,10900],{"class":5471},[3751,31488,31489],{"class":3753,"line":3802},[3751,31490,31491],{"class":5471}," * Семантичні кольори: назва = роль на екрані, не «синій-500».\n",[3751,31493,31494],{"class":3753,"line":3870},[3751,31495,31496],{"class":5471}," * light \u002F dark — дві палітри з однаковими ключами.\n",[3751,31498,31499],{"class":3753,"line":4471},[3751,31500,10915],{"class":5471},[3751,31502,31503],{"class":3753,"line":4481},[3751,31504,5213],{"emptyLinePlaceholder":5212},[3751,31506,31507,31509,31511,31514],{"class":3753,"line":4491},[3751,31508,4438],{"class":3805},[3751,31510,6119],{"class":3757},[3751,31512,31513],{"class":3765}," lightColors",[3751,31515,6047],{"class":3761},[3751,31517,31518,31521,31523],{"class":3753,"line":4532},[3751,31519,31520],{"class":3811},"  background:",[3751,31522,6662],{"class":3784},[3751,31524,6146],{"class":3761},[3751,31526,31527,31530,31532],{"class":3753,"line":4566},[3751,31528,31529],{"class":3811},"  surface:",[3751,31531,8086],{"class":3784},[3751,31533,6146],{"class":3761},[3751,31535,31536,31539,31541],{"class":3753,"line":4576},[3751,31537,31538],{"class":3811},"  text:",[3751,31540,6696],{"class":3784},[3751,31542,6146],{"class":3761},[3751,31544,31545,31548,31550],{"class":3753,"line":4586},[3751,31546,31547],{"class":3811},"  textSecondary:",[3751,31549,6959],{"class":3784},[3751,31551,6146],{"class":3761},[3751,31553,31554,31557,31559],{"class":3753,"line":4596},[3751,31555,31556],{"class":3811},"  primary:",[3751,31558,6673],{"class":3784},[3751,31560,6146],{"class":3761},[3751,31562,31563,31566,31569],{"class":3753,"line":4602},[3751,31564,31565],{"class":3811},"  primaryPressed:",[3751,31567,31568],{"class":3784}," '#1D4ED8'",[3751,31570,6146],{"class":3761},[3751,31572,31573,31576,31578],{"class":3753,"line":6159},[3751,31574,31575],{"class":3811},"  border:",[3751,31577,6985],{"class":3784},[3751,31579,6146],{"class":3761},[3751,31581,31582,31585,31588],{"class":3753,"line":6170},[3751,31583,31584],{"class":3811},"  danger:",[3751,31586,31587],{"class":3784}," '#DC2626'",[3751,31589,6146],{"class":3761},[3751,31591,31592,31595,31597],{"class":3753,"line":6181},[3751,31593,31594],{"class":3811},"  onPrimary:",[3751,31596,8086],{"class":3784},[3751,31598,6146],{"class":3761},[3751,31600,31601,31603,31605,31607],{"class":3753,"line":6187},[3751,31602,11922],{"class":3761},[3751,31604,18477],{"class":3805},[3751,31606,6119],{"class":3757},[3751,31608,3867],{"class":3761},[3751,31610,31611],{"class":3753,"line":6195},[3751,31612,5213],{"emptyLinePlaceholder":5212},[3751,31614,31615,31617,31619,31622],{"class":3753,"line":6201},[3751,31616,4438],{"class":3805},[3751,31618,6119],{"class":3757},[3751,31620,31621],{"class":3765}," darkColors",[3751,31623,6047],{"class":3761},[3751,31625,31626,31628,31631],{"class":3753,"line":6206},[3751,31627,31520],{"class":3811},[3751,31629,31630],{"class":3784}," '#000000'",[3751,31632,6146],{"class":3761},[3751,31634,31635,31637,31640],{"class":3753,"line":6216},[3751,31636,31529],{"class":3811},[3751,31638,31639],{"class":3784}," '#1C1C1E'",[3751,31641,6146],{"class":3761},[3751,31643,31644,31646,31649],{"class":3753,"line":6226},[3751,31645,31538],{"class":3811},[3751,31647,31648],{"class":3784}," '#F5F5F7'",[3751,31650,6146],{"class":3761},[3751,31652,31653,31655,31658],{"class":3753,"line":6236},[3751,31654,31547],{"class":3811},[3751,31656,31657],{"class":3784}," '#A1A1AA'",[3751,31659,6146],{"class":3761},[3751,31661,31662,31664,31667],{"class":3753,"line":6246},[3751,31663,31556],{"class":3811},[3751,31665,31666],{"class":3784}," '#3B82F6'",[3751,31668,6146],{"class":3761},[3751,31670,31671,31673,31675],{"class":3753,"line":6251},[3751,31672,31565],{"class":3811},[3751,31674,6673],{"class":3784},[3751,31676,6146],{"class":3761},[3751,31678,31679,31681,31684],{"class":3753,"line":6259},[3751,31680,31575],{"class":3811},[3751,31682,31683],{"class":3784}," '#3A3A3C'",[3751,31685,6146],{"class":3761},[3751,31687,31688,31690,31693],{"class":3753,"line":6264},[3751,31689,31584],{"class":3811},[3751,31691,31692],{"class":3784}," '#F87171'",[3751,31694,6146],{"class":3761},[3751,31696,31697,31699,31701],{"class":3753,"line":6269},[3751,31698,31594],{"class":3811},[3751,31700,8086],{"class":3784},[3751,31702,6146],{"class":3761},[3751,31704,31705,31707,31709,31711],{"class":3753,"line":6279},[3751,31706,11922],{"class":3761},[3751,31708,18477],{"class":3805},[3751,31710,6119],{"class":3757},[3751,31712,3867],{"class":3761},[3751,31714,31715],{"class":3753,"line":6289},[3751,31716,5213],{"emptyLinePlaceholder":5212},[3751,31718,31719,31721,31723,31726],{"class":3753,"line":6299},[3751,31720,4438],{"class":3805},[3751,31722,6041],{"class":3757},[3751,31724,31725],{"class":3829}," ColorTokens",[3751,31727,6047],{"class":3761},[3751,31729,31730,31733,31736,31739,31742,31745,31747,31750,31752],{"class":3753,"line":6309},[3751,31731,31732],{"class":3761},"  [",[3751,31734,31735],{"class":3829},"K",[3751,31737,31738],{"class":3757}," in",[3751,31740,31741],{"class":3757}," keyof",[3751,31743,31744],{"class":3757}," typeof",[3751,31746,31513],{"class":3811},[3751,31748,31749],{"class":3761},"]: ",[3751,31751,6057],{"class":3829},[3751,31753,3867],{"class":3761},[3751,31755,31756],{"class":3753,"line":6314},[3751,31757,6108],{"class":3761},[3751,31759,31760],{"class":3753,"line":6322},[3751,31761,5213],{"emptyLinePlaceholder":5212},[3751,31763,31764,31766,31768,31771,31773,31776,31778,31781],{"class":3753,"line":6327},[3751,31765,4438],{"class":3805},[3751,31767,6041],{"class":3757},[3751,31769,31770],{"class":3829}," ColorSchemeName",[3751,31772,5457],{"class":3761},[3751,31774,31775],{"class":3784},"'light'",[3751,31777,3788],{"class":3761},[3751,31779,31780],{"class":3784},"'dark'",[3751,31782,3867],{"class":3761},[3751,31784,31785],{"class":3753,"line":6332},[3751,31786,5213],{"emptyLinePlaceholder":5212},[3751,31788,31789,31791,31793,31796,31798,31800,31802,31805,31807,31810],{"class":3753,"line":6342},[3751,31790,4438],{"class":3805},[3751,31792,4444],{"class":3757},[3751,31794,31795],{"class":3777}," colorsForScheme",[3751,31797,3853],{"class":3761},[3751,31799,10939],{"class":3811},[3751,31801,4806],{"class":3761},[3751,31803,31804],{"class":3829},"ColorSchemeName",[3751,31806,6483],{"class":3761},[3751,31808,31809],{"class":3829},"ColorTokens",[3751,31811,6493],{"class":3761},[3751,31813,31814,31816,31819,31821,31823,31826,31829,31832,31835],{"class":3753,"line":6352},[3751,31815,4455],{"class":3805},[3751,31817,31818],{"class":3811}," scheme",[3751,31820,3814],{"class":3761},[3751,31822,31780],{"class":3784},[3751,31824,31825],{"class":3761}," ? { ...",[3751,31827,31828],{"class":3811},"darkColors",[3751,31830,31831],{"class":3761}," } : { ...",[3751,31833,31834],{"class":3811},"lightColors",[3751,31836,31837],{"class":3761}," };\n",[3751,31839,31840],{"class":3753,"line":6362},[3751,31841,4605],{"class":3761},[3742,31843,31846],{"className":6030,"code":31844,"filename":31845,"language":6032,"meta":3747,"style":3747},"\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",[3521,31847,31848,31852,31857,31862,31867,31871,31875,31886,31895,31904,31913,31922,31931,31941,31945,31955,31963,31971,31979,31989,31993,32004,32012,32020,32029,32038,32048,32052,32063,32074,32079,32086,32095,32104,32113,32122,32131,32140,32149,32158,32167,32171,32180,32187,32194,32204,32208],{"__ignoreMap":3747},[3751,31849,31850],{"class":3753,"line":3754},[3751,31851,10900],{"class":5471},[3751,31853,31854],{"class":3753,"line":3802},[3751,31855,31856],{"class":5471}," * Токени, що **не** залежать від light\u002Fdark:\n",[3751,31858,31859],{"class":3753,"line":3870},[3751,31860,31861],{"class":5471}," * відступи, радіуси, розміри шрифтів.\n",[3751,31863,31864],{"class":3753,"line":4471},[3751,31865,31866],{"class":5471}," * Кольори — у colors.ts + ThemeProvider.\n",[3751,31868,31869],{"class":3753,"line":4481},[3751,31870,10915],{"class":5471},[3751,31872,31873],{"class":3753,"line":4491},[3751,31874,5213],{"emptyLinePlaceholder":5212},[3751,31876,31877,31879,31881,31884],{"class":3753,"line":4532},[3751,31878,4438],{"class":3805},[3751,31880,6119],{"class":3757},[3751,31882,31883],{"class":3765}," space",[3751,31885,6047],{"class":3761},[3751,31887,31888,31891,31893],{"class":3753,"line":4566},[3751,31889,31890],{"class":3811},"  xs:",[3751,31892,8034],{"class":7005},[3751,31894,6146],{"class":3761},[3751,31896,31897,31900,31902],{"class":3753,"line":4576},[3751,31898,31899],{"class":3811},"  sm:",[3751,31901,7961],{"class":7005},[3751,31903,6146],{"class":3761},[3751,31905,31906,31909,31911],{"class":3753,"line":4586},[3751,31907,31908],{"class":3811},"  md:",[3751,31910,7951],{"class":7005},[3751,31912,6146],{"class":3761},[3751,31914,31915,31918,31920],{"class":3753,"line":4596},[3751,31916,31917],{"class":3811},"  lg:",[3751,31919,8006],{"class":7005},[3751,31921,6146],{"class":3761},[3751,31923,31924,31927,31929],{"class":3753,"line":4602},[3751,31925,31926],{"class":3811},"  xl:",[3751,31928,8069],{"class":7005},[3751,31930,6146],{"class":3761},[3751,31932,31933,31935,31937,31939],{"class":3753,"line":6159},[3751,31934,11922],{"class":3761},[3751,31936,18477],{"class":3805},[3751,31938,6119],{"class":3757},[3751,31940,3867],{"class":3761},[3751,31942,31943],{"class":3753,"line":6170},[3751,31944,5213],{"emptyLinePlaceholder":5212},[3751,31946,31947,31949,31951,31953],{"class":3753,"line":6181},[3751,31948,4438],{"class":3805},[3751,31950,6119],{"class":3757},[3751,31952,23487],{"class":3765},[3751,31954,6047],{"class":3761},[3751,31956,31957,31959,31961],{"class":3753,"line":6187},[3751,31958,31899],{"class":3811},[3751,31960,7961],{"class":7005},[3751,31962,6146],{"class":3761},[3751,31964,31965,31967,31969],{"class":3753,"line":6195},[3751,31966,31908],{"class":3811},[3751,31968,7006],{"class":7005},[3751,31970,6146],{"class":3761},[3751,31972,31973,31975,31977],{"class":3753,"line":6201},[3751,31974,31917],{"class":3811},[3751,31976,7951],{"class":7005},[3751,31978,6146],{"class":3761},[3751,31980,31981,31983,31985,31987],{"class":3753,"line":6206},[3751,31982,11922],{"class":3761},[3751,31984,18477],{"class":3805},[3751,31986,6119],{"class":3757},[3751,31988,3867],{"class":3761},[3751,31990,31991],{"class":3753,"line":6216},[3751,31992,5213],{"emptyLinePlaceholder":5212},[3751,31994,31995,31997,31999,32002],{"class":3753,"line":6226},[3751,31996,4438],{"class":3805},[3751,31998,6119],{"class":3757},[3751,32000,32001],{"class":3765}," fontSize",[3751,32003,6047],{"class":3761},[3751,32005,32006,32008,32010],{"class":3753,"line":6236},[3751,32007,31899],{"class":3811},[3751,32009,8123],{"class":7005},[3751,32011,6146],{"class":3761},[3751,32013,32014,32016,32018],{"class":3753,"line":6246},[3751,32015,31908],{"class":3811},[3751,32017,7951],{"class":7005},[3751,32019,6146],{"class":3761},[3751,32021,32022,32024,32027],{"class":3753,"line":6251},[3751,32023,31917],{"class":3811},[3751,32025,32026],{"class":7005}," 20",[3751,32028,6146],{"class":3761},[3751,32030,32031,32033,32036],{"class":3753,"line":6259},[3751,32032,31926],{"class":3811},[3751,32034,32035],{"class":7005}," 28",[3751,32037,6146],{"class":3761},[3751,32039,32040,32042,32044,32046],{"class":3753,"line":6264},[3751,32041,11922],{"class":3761},[3751,32043,18477],{"class":3805},[3751,32045,6119],{"class":3757},[3751,32047,3867],{"class":3761},[3751,32049,32050],{"class":3753,"line":6269},[3751,32051,5213],{"emptyLinePlaceholder":5212},[3751,32053,32054,32057,32060],{"class":3753,"line":6279},[3751,32055,32056],{"class":5471},"\u002F** ",[3751,32058,32059],{"class":3757},"@deprecated",[3751,32061,32062],{"class":5471}," Використовуйте useTheme() для кольорів; space\u002Fradius\u002FfontSize — нижче. *\u002F\n",[3751,32064,32065,32067,32069,32072],{"class":3753,"line":6289},[3751,32066,4438],{"class":3805},[3751,32068,6119],{"class":3757},[3751,32070,32071],{"class":3765}," tokens",[3751,32073,6047],{"class":3761},[3751,32075,32076],{"class":3753,"line":6299},[3751,32077,32078],{"class":5471},"  \u002F** Світла палітра (fallback, якщо хтось імпортує tokens.colors без теми). *\u002F\n",[3751,32080,32081,32084],{"class":3753,"line":6309},[3751,32082,32083],{"class":3811},"  colors:",[3751,32085,6493],{"class":3761},[3751,32087,32088,32091,32093],{"class":3753,"line":6314},[3751,32089,32090],{"class":3811},"    background:",[3751,32092,6662],{"class":3784},[3751,32094,6146],{"class":3761},[3751,32096,32097,32100,32102],{"class":3753,"line":6322},[3751,32098,32099],{"class":3811},"    surface:",[3751,32101,8086],{"class":3784},[3751,32103,6146],{"class":3761},[3751,32105,32106,32109,32111],{"class":3753,"line":6327},[3751,32107,32108],{"class":3811},"    text:",[3751,32110,6696],{"class":3784},[3751,32112,6146],{"class":3761},[3751,32114,32115,32118,32120],{"class":3753,"line":6332},[3751,32116,32117],{"class":3811},"    textSecondary:",[3751,32119,6959],{"class":3784},[3751,32121,6146],{"class":3761},[3751,32123,32124,32127,32129],{"class":3753,"line":6342},[3751,32125,32126],{"class":3811},"    primary:",[3751,32128,6673],{"class":3784},[3751,32130,6146],{"class":3761},[3751,32132,32133,32136,32138],{"class":3753,"line":6352},[3751,32134,32135],{"class":3811},"    primaryPressed:",[3751,32137,31568],{"class":3784},[3751,32139,6146],{"class":3761},[3751,32141,32142,32145,32147],{"class":3753,"line":6362},[3751,32143,32144],{"class":3811},"    border:",[3751,32146,6985],{"class":3784},[3751,32148,6146],{"class":3761},[3751,32150,32151,32154,32156],{"class":3753,"line":6372},[3751,32152,32153],{"class":3811},"    danger:",[3751,32155,31587],{"class":3784},[3751,32157,6146],{"class":3761},[3751,32159,32160,32163,32165],{"class":3753,"line":6377},[3751,32161,32162],{"class":3811},"    onPrimary:",[3751,32164,8086],{"class":3784},[3751,32166,6146],{"class":3761},[3751,32168,32169],{"class":3753,"line":6385},[3751,32170,6198],{"class":3761},[3751,32172,32173,32176,32178],{"class":3753,"line":6390},[3751,32174,32175],{"class":3811},"  spacing:",[3751,32177,31883],{"class":3811},[3751,32179,6146],{"class":3761},[3751,32181,32182,32185],{"class":3753,"line":6395},[3751,32183,32184],{"class":3811},"  radius",[3751,32186,6146],{"class":3761},[3751,32188,32189,32192],{"class":3753,"line":6405},[3751,32190,32191],{"class":3811},"  fontSize",[3751,32193,6146],{"class":3761},[3751,32195,32196,32198,32200,32202],{"class":3753,"line":6415},[3751,32197,11922],{"class":3761},[3751,32199,18477],{"class":3805},[3751,32201,6119],{"class":3757},[3751,32203,3867],{"class":3761},[3751,32205,32206],{"class":3753,"line":6425},[3751,32207,5213],{"emptyLinePlaceholder":5212},[3751,32209,32210,32212,32214,32217,32219,32221,32223],{"class":3753,"line":6435},[3751,32211,4438],{"class":3805},[3751,32213,6041],{"class":3757},[3751,32215,32216],{"class":3829}," Tokens",[3751,32218,5457],{"class":3761},[3751,32220,18500],{"class":3757},[3751,32222,32071],{"class":3811},[3751,32224,3867],{"class":3761},[3742,32226,32229],{"className":3744,"code":32227,"filename":32228,"language":3746,"meta":3747,"style":3747},"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",[3521,32230,32231,32237,32243,32249,32255,32261,32267,32273,32283,32305,32309,32315,32322,32330,32338,32349,32376,32380,32385,32404,32408,32417,32422,32433,32444,32465,32476,32489,32501,32513,32517,32521,32547,32551,32560,32570,32589,32597,32620,32628,32632,32654,32658,32662,32671,32681,32686,32697,32701,32705,32716,32722,32732,32741,32755,32771,32787,32791,32815,32826,32830,32834,32856,32883,32887,32904,32913,32920,32927,32934,32941,32950,32957,32964,32968,32988,32992,32996,33002,33033,33037,33041,33045,33060,33077,33087,33102,33106,33114],{"__ignoreMap":3747},[3751,32232,32233,32235],{"class":3753,"line":3754},[3751,32234,5173],{"class":3805},[3751,32236,6493],{"class":3761},[3751,32238,32239,32241],{"class":3753,"line":3802},[3751,32240,19697],{"class":3811},[3751,32242,6146],{"class":3761},[3751,32244,32245,32247],{"class":3753,"line":3870},[3751,32246,19704],{"class":3811},[3751,32248,6146],{"class":3761},[3751,32250,32251,32253],{"class":3753,"line":4471},[3751,32252,19711],{"class":3811},[3751,32254,6146],{"class":3761},[3751,32256,32257,32259],{"class":3753,"line":4481},[3751,32258,19718],{"class":3811},[3751,32260,6146],{"class":3761},[3751,32262,32263,32265],{"class":3753,"line":4491},[3751,32264,19725],{"class":3811},[3751,32266,6146],{"class":3761},[3751,32268,32269,32271],{"class":3753,"line":4532},[3751,32270,19732],{"class":3811},[3751,32272,6146],{"class":3761},[3751,32274,32275,32277,32279,32281],{"class":3753,"line":4566},[3751,32276,11922],{"class":3761},[3751,32278,5184],{"class":3805},[3751,32280,11874],{"class":3784},[3751,32282,3867],{"class":3761},[3751,32284,32285,32287,32289,32292,32294,32297,32299,32301,32303],{"class":3753,"line":4576},[3751,32286,5173],{"class":3805},[3751,32288,5176],{"class":3761},[3751,32290,32291],{"class":3811},"useColorScheme",[3751,32293,22475],{"class":3805},[3751,32295,32296],{"class":3811}," useSystemColorScheme",[3751,32298,5181],{"class":3761},[3751,32300,5184],{"class":3805},[3751,32302,5205],{"class":3784},[3751,32304,3867],{"class":3761},[3751,32306,32307],{"class":3753,"line":4586},[3751,32308,5213],{"emptyLinePlaceholder":5212},[3751,32310,32311,32313],{"class":3753,"line":4596},[3751,32312,5173],{"class":3805},[3751,32314,6493],{"class":3761},[3751,32316,32317,32320],{"class":3753,"line":4602},[3751,32318,32319],{"class":3811},"  colorsForScheme",[3751,32321,6146],{"class":3761},[3751,32323,32324,32326,32328],{"class":3753,"line":6159},[3751,32325,12005],{"class":3805},[3751,32327,31770],{"class":3811},[3751,32329,6146],{"class":3761},[3751,32331,32332,32334,32336],{"class":3753,"line":6170},[3751,32333,12005],{"class":3805},[3751,32335,31725],{"class":3811},[3751,32337,6146],{"class":3761},[3751,32339,32340,32342,32344,32347],{"class":3753,"line":6181},[3751,32341,11922],{"class":3761},[3751,32343,5184],{"class":3805},[3751,32345,32346],{"class":3784}," '.\u002Fcolors'",[3751,32348,3867],{"class":3761},[3751,32350,32351,32353,32355,32358,32360,32362,32364,32367,32369,32371,32374],{"class":3753,"line":6187},[3751,32352,5173],{"class":3805},[3751,32354,5176],{"class":3761},[3751,32356,32357],{"class":3811},"fontSize",[3751,32359,3640],{"class":3761},[3751,32361,22266],{"class":3811},[3751,32363,3640],{"class":3761},[3751,32365,32366],{"class":3811},"space",[3751,32368,5181],{"class":3761},[3751,32370,5184],{"class":3805},[3751,32372,32373],{"class":3784}," '.\u002Ftokens'",[3751,32375,3867],{"class":3761},[3751,32377,32378],{"class":3753,"line":6195},[3751,32379,5213],{"emptyLinePlaceholder":5212},[3751,32381,32382],{"class":3753,"line":6201},[3751,32383,32384],{"class":5471},"\u002F** Що обрав користувач: слідувати системі або примусово light\u002Fdark. *\u002F\n",[3751,32386,32387,32389,32391,32393,32395,32398,32400,32402],{"class":3753,"line":6206},[3751,32388,4438],{"class":3805},[3751,32390,6041],{"class":3757},[3751,32392,12045],{"class":3829},[3751,32394,5457],{"class":3761},[3751,32396,32397],{"class":3784},"'system'",[3751,32399,3788],{"class":3761},[3751,32401,31804],{"class":3829},[3751,32403,3867],{"class":3761},[3751,32405,32406],{"class":3753,"line":6216},[3751,32407,5213],{"emptyLinePlaceholder":5212},[3751,32409,32410,32412,32415],{"class":3753,"line":6226},[3751,32411,12042],{"class":3757},[3751,32413,32414],{"class":3829}," ThemeContextValue",[3751,32416,6047],{"class":3761},[3751,32418,32419],{"class":3753,"line":6236},[3751,32420,32421],{"class":5471},"  \u002F** Фактична схема, якою малюємо UI. *\u002F\n",[3751,32423,32424,32427,32429,32431],{"class":3753,"line":6246},[3751,32425,32426],{"class":3811},"  scheme",[3751,32428,4806],{"class":3761},[3751,32430,31804],{"class":3829},[3751,32432,3867],{"class":3761},[3751,32434,32435,32438,32440,32442],{"class":3753,"line":6251},[3751,32436,32437],{"class":3811},"  preference",[3751,32439,4806],{"class":3761},[3751,32441,12101],{"class":3829},[3751,32443,3867],{"class":3761},[3751,32445,32446,32449,32451,32453,32455,32457,32459,32461,32463],{"class":3753,"line":6259},[3751,32447,32448],{"class":3777},"  setPreference",[3751,32450,19821],{"class":3761},[3751,32452,20158],{"class":3811},[3751,32454,4806],{"class":3761},[3751,32456,12101],{"class":3829},[3751,32458,3819],{"class":3761},[3751,32460,3847],{"class":3757},[3751,32462,19834],{"class":3829},[3751,32464,3867],{"class":3761},[3751,32466,32467,32470,32472,32474],{"class":3753,"line":6264},[3751,32468,32469],{"class":3811},"  colors",[3751,32471,4806],{"class":3761},[3751,32473,31809],{"class":3829},[3751,32475,3867],{"class":3761},[3751,32477,32478,32481,32483,32485,32487],{"class":3753,"line":6269},[3751,32479,32480],{"class":3811},"  spacing",[3751,32482,4806],{"class":3761},[3751,32484,18500],{"class":3757},[3751,32486,31883],{"class":3811},[3751,32488,3867],{"class":3761},[3751,32490,32491,32493,32495,32497,32499],{"class":3753,"line":6279},[3751,32492,32184],{"class":3811},[3751,32494,4806],{"class":3761},[3751,32496,18500],{"class":3757},[3751,32498,23487],{"class":3811},[3751,32500,3867],{"class":3761},[3751,32502,32503,32505,32507,32509,32511],{"class":3753,"line":6289},[3751,32504,32191],{"class":3811},[3751,32506,4806],{"class":3761},[3751,32508,18500],{"class":3757},[3751,32510,32001],{"class":3811},[3751,32512,3867],{"class":3761},[3751,32514,32515],{"class":3753,"line":6299},[3751,32516,6108],{"class":3761},[3751,32518,32519],{"class":3753,"line":6309},[3751,32520,5213],{"emptyLinePlaceholder":5212},[3751,32522,32523,32525,32528,32530,32532,32534,32537,32539,32541,32543,32545],{"class":3753,"line":6314},[3751,32524,3758],{"class":3757},[3751,32526,32527],{"class":3765}," ThemeContext",[3751,32529,5457],{"class":3761},[3751,32531,19875],{"class":3777},[3751,32533,3781],{"class":3761},[3751,32535,32536],{"class":3829},"ThemeContextValue",[3751,32538,3788],{"class":3761},[3751,32540,19885],{"class":3829},[3751,32542,3794],{"class":3761},[3751,32544,19885],{"class":3757},[3751,32546,3799],{"class":3761},[3751,32548,32549],{"class":3753,"line":6322},[3751,32550,5213],{"emptyLinePlaceholder":5212},[3751,32552,32553,32555,32558],{"class":3753,"line":6327},[3751,32554,10920],{"class":3757},[3751,32556,32557],{"class":3777}," resolveScheme",[3751,32559,12544],{"class":3761},[3751,32561,32562,32564,32566,32568],{"class":3753,"line":6332},[3751,32563,32437],{"class":3811},[3751,32565,4806],{"class":3761},[3751,32567,12101],{"class":3829},[3751,32569,6146],{"class":3761},[3751,32571,32572,32575,32577,32579,32581,32583,32585,32587],{"class":3753,"line":6342},[3751,32573,32574],{"class":3811},"  system",[3751,32576,4806],{"class":3761},[3751,32578,6057],{"class":3829},[3751,32580,3788],{"class":3761},[3751,32582,19885],{"class":3829},[3751,32584,3788],{"class":3761},[3751,32586,6490],{"class":3829},[3751,32588,6146],{"class":3761},[3751,32590,32591,32593,32595],{"class":3753,"line":6352},[3751,32592,6483],{"class":3761},[3751,32594,31804],{"class":3829},[3751,32596,6493],{"class":3761},[3751,32598,32599,32601,32603,32605,32607,32609,32612,32614,32616,32618],{"class":3753,"line":6362},[3751,32600,8955],{"class":3805},[3751,32602,3636],{"class":3761},[3751,32604,12241],{"class":3811},[3751,32606,3814],{"class":3761},[3751,32608,31775],{"class":3784},[3751,32610,32611],{"class":3761}," || ",[3751,32613,12241],{"class":3811},[3751,32615,3814],{"class":3761},[3751,32617,31780],{"class":3784},[3751,32619,8964],{"class":3761},[3751,32621,32622,32624,32626],{"class":3753,"line":6372},[3751,32623,8969],{"class":3805},[3751,32625,13819],{"class":3811},[3751,32627,3867],{"class":3761},[3751,32629,32630],{"class":3753,"line":6377},[3751,32631,9112],{"class":3761},[3751,32633,32634,32636,32639,32641,32643,32645,32647,32650,32652],{"class":3753,"line":6385},[3751,32635,4455],{"class":3805},[3751,32637,32638],{"class":3811}," system",[3751,32640,3814],{"class":3761},[3751,32642,31780],{"class":3784},[3751,32644,8933],{"class":3761},[3751,32646,31780],{"class":3784},[3751,32648,32649],{"class":3761}," : ",[3751,32651,31775],{"class":3784},[3751,32653,3867],{"class":3761},[3751,32655,32656],{"class":3753,"line":6390},[3751,32657,4605],{"class":3761},[3751,32659,32660],{"class":3753,"line":6395},[3751,32661,5213],{"emptyLinePlaceholder":5212},[3751,32663,32664,32666,32669],{"class":3753,"line":6405},[3751,32665,12042],{"class":3757},[3751,32667,32668],{"class":3829}," ThemeProviderProps",[3751,32670,6047],{"class":3761},[3751,32672,32673,32675,32677,32679],{"class":3753,"line":6415},[3751,32674,19909],{"class":3811},[3751,32676,4806],{"class":3761},[3751,32678,19914],{"class":3829},[3751,32680,3867],{"class":3761},[3751,32682,32683],{"class":3753,"line":6425},[3751,32684,32685],{"class":5471},"  \u002F** Початкова перевага (за замовчуванням — як у системі). *\u002F\n",[3751,32687,32688,32691,32693,32695],{"class":3753,"line":6435},[3751,32689,32690],{"class":3811},"  initialPreference",[3751,32692,18294],{"class":3761},[3751,32694,12101],{"class":3829},[3751,32696,3867],{"class":3761},[3751,32698,32699],{"class":3753,"line":6440},[3751,32700,6108],{"class":3761},[3751,32702,32703],{"class":3753,"line":6448},[3751,32704,5213],{"emptyLinePlaceholder":5212},[3751,32706,32707,32709,32711,32714],{"class":3753,"line":6453},[3751,32708,4438],{"class":3805},[3751,32710,4444],{"class":3757},[3751,32712,32713],{"class":3777}," ThemeProvider",[3751,32715,7915],{"class":3761},[3751,32717,32718,32720],{"class":3753,"line":6459},[3751,32719,19909],{"class":3811},[3751,32721,6146],{"class":3761},[3751,32723,32724,32726,32728,32730],{"class":3753,"line":6464},[3751,32725,32690],{"class":3811},[3751,32727,5457],{"class":3761},[3751,32729,32397],{"class":3784},[3751,32731,6146],{"class":3761},[3751,32733,32734,32736,32739],{"class":3753,"line":6496},[3751,32735,22244],{"class":3761},[3751,32737,32738],{"class":3829},"ThemeProviderProps",[3751,32740,8964],{"class":3761},[3751,32742,32743,32745,32748,32750,32753],{"class":3753,"line":6531},[3751,32744,8859],{"class":3757},[3751,32746,32747],{"class":3765}," systemScheme",[3751,32749,5457],{"class":3761},[3751,32751,32752],{"class":3777},"useSystemColorScheme",[3751,32754,5462],{"class":3761},[3751,32756,32757,32759,32761,32763,32765,32768],{"class":3753,"line":8184},[3751,32758,8859],{"class":3757},[3751,32760,3762],{"class":3761},[3751,32762,12241],{"class":3765},[3751,32764,3640],{"class":3761},[3751,32766,32767],{"class":3765},"setPreferenceState",[3751,32769,32770],{"class":3761},"] =\n",[3751,32772,32773,32776,32778,32780,32782,32785],{"class":3753,"line":8192},[3751,32774,32775],{"class":3777},"    useState",[3751,32777,3781],{"class":3761},[3751,32779,12101],{"class":3829},[3751,32781,3794],{"class":3761},[3751,32783,32784],{"class":3811},"initialPreference",[3751,32786,3799],{"class":3761},[3751,32788,32789],{"class":3753,"line":8202},[3751,32790,5213],{"emptyLinePlaceholder":5212},[3751,32792,32793,32795,32797,32799,32801,32803,32805,32807,32809,32811,32813],{"class":3753,"line":8212},[3751,32794,8859],{"class":3757},[3751,32796,13881],{"class":3765},[3751,32798,5457],{"class":3761},[3751,32800,11863],{"class":3777},[3751,32802,6508],{"class":3761},[3751,32804,20158],{"class":3811},[3751,32806,4806],{"class":3761},[3751,32808,12101],{"class":3829},[3751,32810,3819],{"class":3761},[3751,32812,3847],{"class":3757},[3751,32814,6493],{"class":3761},[3751,32816,32817,32820,32822,32824],{"class":3753,"line":8222},[3751,32818,32819],{"class":3777},"    setPreferenceState",[3751,32821,3853],{"class":3761},[3751,32823,20158],{"class":3811},[3751,32825,3799],{"class":3761},[3751,32827,32828],{"class":3753,"line":8232},[3751,32829,12374],{"class":3761},[3751,32831,32832],{"class":3753,"line":8237},[3751,32833,5213],{"emptyLinePlaceholder":5212},[3751,32835,32836,32838,32840,32842,32845,32847,32849,32851,32854],{"class":3753,"line":12660},[3751,32837,8859],{"class":3757},[3751,32839,31818],{"class":3765},[3751,32841,5457],{"class":3761},[3751,32843,32844],{"class":3777},"resolveScheme",[3751,32846,3853],{"class":3761},[3751,32848,12241],{"class":3811},[3751,32850,3640],{"class":3761},[3751,32852,32853],{"class":3811},"systemScheme",[3751,32855,3799],{"class":3761},[3751,32857,32858,32860,32862,32864,32866,32868,32870,32872,32874,32876,32879,32881],{"class":3753,"line":12671},[3751,32859,8859],{"class":3757},[3751,32861,11021],{"class":3765},[3751,32863,5457],{"class":3761},[3751,32865,20089],{"class":3777},[3751,32867,12457],{"class":3761},[3751,32869,3847],{"class":3757},[3751,32871,31795],{"class":3777},[3751,32873,3853],{"class":3761},[3751,32875,10939],{"class":3811},[3751,32877,32878],{"class":3761},"), [",[3751,32880,10939],{"class":3811},[3751,32882,12526],{"class":3761},[3751,32884,32885],{"class":3753,"line":12713},[3751,32886,5213],{"emptyLinePlaceholder":5212},[3751,32888,32889,32891,32893,32895,32897,32899,32901],{"class":3753,"line":12735},[3751,32890,8859],{"class":3757},[3751,32892,20084],{"class":3765},[3751,32894,5457],{"class":3761},[3751,32896,20089],{"class":3777},[3751,32898,3781],{"class":3761},[3751,32900,32536],{"class":3829},[3751,32902,32903],{"class":3761},">(\n",[3751,32905,32906,32908,32910],{"class":3753,"line":12765},[3751,32907,20096],{"class":3761},[3751,32909,3847],{"class":3757},[3751,32911,32912],{"class":3761}," ({\n",[3751,32914,32915,32918],{"class":3753,"line":12799},[3751,32916,32917],{"class":3811},"      scheme",[3751,32919,6146],{"class":3761},[3751,32921,32922,32925],{"class":3753,"line":12806},[3751,32923,32924],{"class":3811},"      preference",[3751,32926,6146],{"class":3761},[3751,32928,32929,32932],{"class":3753,"line":12812},[3751,32930,32931],{"class":3811},"      setPreference",[3751,32933,6146],{"class":3761},[3751,32935,32936,32939],{"class":3753,"line":12826},[3751,32937,32938],{"class":3811},"      colors",[3751,32940,6146],{"class":3761},[3751,32942,32943,32946,32948],{"class":3753,"line":12852},[3751,32944,32945],{"class":3811},"      spacing:",[3751,32947,31883],{"class":3811},[3751,32949,6146],{"class":3761},[3751,32951,32952,32955],{"class":3753,"line":12872},[3751,32953,32954],{"class":3811},"      radius",[3751,32956,6146],{"class":3761},[3751,32958,32959,32962],{"class":3753,"line":12904},[3751,32960,32961],{"class":3811},"      fontSize",[3751,32963,6146],{"class":3761},[3751,32965,32966],{"class":3753,"line":12912},[3751,32967,18735],{"class":3761},[3751,32969,32970,32972,32974,32976,32978,32980,32982,32984,32986],{"class":3753,"line":12923},[3751,32971,12608],{"class":3761},[3751,32973,10939],{"class":3811},[3751,32975,3640],{"class":3761},[3751,32977,12241],{"class":3811},[3751,32979,3640],{"class":3761},[3751,32981,12246],{"class":3811},[3751,32983,3640],{"class":3761},[3751,32985,10934],{"class":3811},[3751,32987,12613],{"class":3761},[3751,32989,32990],{"class":3753,"line":12966},[3751,32991,4599],{"class":3761},[3751,32993,32994],{"class":3753,"line":12988},[3751,32995,5213],{"emptyLinePlaceholder":5212},[3751,32997,32998,33000],{"class":3753,"line":12994},[3751,32999,4455],{"class":3805},[3751,33001,4458],{"class":3761},[3751,33003,33004,33006,33009,33011,33013,33015,33017,33019,33021,33023,33025,33027,33029,33031],{"class":3753,"line":13003},[3751,33005,4463],{"class":3825},[3751,33007,33008],{"class":3829},"ThemeContext.Provider",[3751,33010,20084],{"class":3833},[3751,33012,3837],{"class":3761},[3751,33014,3840],{"class":3757},[3751,33016,20158],{"class":3811},[3751,33018,3861],{"class":3757},[3751,33020,5239],{"class":3825},[3751,33022,3840],{"class":3757},[3751,33024,19938],{"class":3811},[3751,33026,3861],{"class":3757},[3751,33028,5245],{"class":3825},[3751,33030,33008],{"class":3829},[3751,33032,4468],{"class":3825},[3751,33034,33035],{"class":3753,"line":13014},[3751,33036,4599],{"class":3761},[3751,33038,33039],{"class":3753,"line":13019},[3751,33040,4605],{"class":3761},[3751,33042,33043],{"class":3753,"line":13053},[3751,33044,5213],{"emptyLinePlaceholder":5212},[3751,33046,33047,33049,33051,33054,33056,33058],{"class":3753,"line":13062},[3751,33048,4438],{"class":3805},[3751,33050,4444],{"class":3757},[3751,33052,33053],{"class":3777}," useTheme",[3751,33055,20198],{"class":3761},[3751,33057,32536],{"class":3829},[3751,33059,6493],{"class":3761},[3751,33061,33062,33064,33066,33068,33070,33072,33075],{"class":3753,"line":13067},[3751,33063,8859],{"class":3757},[3751,33065,20209],{"class":3765},[3751,33067,5457],{"class":3761},[3751,33069,20214],{"class":3777},[3751,33071,3853],{"class":3761},[3751,33073,33074],{"class":3811},"ThemeContext",[3751,33076,3799],{"class":3761},[3751,33078,33079,33081,33083,33085],{"class":3753,"line":13072},[3751,33080,8955],{"class":3805},[3751,33082,8958],{"class":3761},[3751,33084,20230],{"class":3811},[3751,33086,8964],{"class":3761},[3751,33088,33089,33091,33093,33095,33097,33100],{"class":3753,"line":13082},[3751,33090,20237],{"class":3805},[3751,33092,20240],{"class":3757},[3751,33094,20243],{"class":3777},[3751,33096,3853],{"class":3761},[3751,33098,33099],{"class":3784},"'useTheme() потрібно викликати всередині \u003CThemeProvider>.'",[3751,33101,3799],{"class":3761},[3751,33103,33104],{"class":3753,"line":13090},[3751,33105,9112],{"class":3761},[3751,33107,33108,33110,33112],{"class":3753,"line":13103},[3751,33109,4455],{"class":3805},[3751,33111,20209],{"class":3811},[3751,33113,3867],{"class":3761},[3751,33115,33116],{"class":3753,"line":13116},[3751,33117,4605],{"class":3761},[3742,33119,33122],{"className":6030,"code":33120,"filename":33121,"language":6032,"meta":3747,"style":3747},"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",[3521,33123,33124,33149,33171,33200,33219,33240],{"__ignoreMap":3747},[3751,33125,33126,33128,33130,33132,33134,33136,33138,33141,33143,33145,33147],{"class":3753,"line":3754},[3751,33127,4438],{"class":3805},[3751,33129,5176],{"class":3761},[3751,33131,31834],{"class":3811},[3751,33133,3640],{"class":3761},[3751,33135,31828],{"class":3811},[3751,33137,3640],{"class":3761},[3751,33139,33140],{"class":3811},"colorsForScheme",[3751,33142,5181],{"class":3761},[3751,33144,5184],{"class":3805},[3751,33146,32346],{"class":3784},[3751,33148,3867],{"class":3761},[3751,33150,33151,33153,33155,33157,33159,33161,33163,33165,33167,33169],{"class":3753,"line":3802},[3751,33152,4438],{"class":3805},[3751,33154,6041],{"class":3805},[3751,33156,5176],{"class":3761},[3751,33158,31809],{"class":3811},[3751,33160,3640],{"class":3761},[3751,33162,31804],{"class":3811},[3751,33164,5181],{"class":3761},[3751,33166,5184],{"class":3805},[3751,33168,32346],{"class":3784},[3751,33170,3867],{"class":3761},[3751,33172,33173,33175,33177,33180,33182,33184,33186,33188,33190,33192,33194,33196,33198],{"class":3753,"line":3870},[3751,33174,4438],{"class":3805},[3751,33176,5176],{"class":3761},[3751,33178,33179],{"class":3811},"tokens",[3751,33181,3640],{"class":3761},[3751,33183,32366],{"class":3811},[3751,33185,3640],{"class":3761},[3751,33187,22266],{"class":3811},[3751,33189,3640],{"class":3761},[3751,33191,32357],{"class":3811},[3751,33193,5181],{"class":3761},[3751,33195,5184],{"class":3805},[3751,33197,32373],{"class":3784},[3751,33199,3867],{"class":3761},[3751,33201,33202,33204,33206,33208,33211,33213,33215,33217],{"class":3753,"line":4471},[3751,33203,4438],{"class":3805},[3751,33205,6041],{"class":3805},[3751,33207,5176],{"class":3761},[3751,33209,33210],{"class":3811},"Tokens",[3751,33212,5181],{"class":3761},[3751,33214,5184],{"class":3805},[3751,33216,32373],{"class":3784},[3751,33218,3867],{"class":3761},[3751,33220,33221,33223,33225,33227,33229,33231,33233,33235,33238],{"class":3753,"line":4481},[3751,33222,4438],{"class":3805},[3751,33224,5176],{"class":3761},[3751,33226,4353],{"class":3811},[3751,33228,3640],{"class":3761},[3751,33230,10882],{"class":3811},[3751,33232,5181],{"class":3761},[3751,33234,5184],{"class":3805},[3751,33236,33237],{"class":3784}," '.\u002FThemeProvider'",[3751,33239,3867],{"class":3761},[3751,33241,33242,33244,33246,33248,33250,33252,33254,33256],{"class":3753,"line":4491},[3751,33243,4438],{"class":3805},[3751,33245,6041],{"class":3805},[3751,33247,5176],{"class":3761},[3751,33249,12101],{"class":3811},[3751,33251,5181],{"class":3761},[3751,33253,5184],{"class":3805},[3751,33255,33237],{"class":3784},[3751,33257,3867],{"class":3761},[3742,33259,33262],{"className":3744,"code":33260,"filename":33261,"language":3746,"meta":3747,"style":3747},"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",[3521,33263,33264,33280,33310,33314,33330,33334,33363,33367,33381,33391,33403,33408,33419,33434,33438,33442,33453,33459,33469,33475,33481,33489,33498,33516,33526,33534,33564,33568,33574,33581,33591,33601,33630,33643,33655,33663,33673,33677,33690,33702,33710,33718,33722,33735,33747,33755,33759,33770,33776,33782,33794,33798,33806,33814,33818,33822,33826,33842,33849],{"__ignoreMap":3747},[3751,33265,33266,33268,33270,33272,33274,33276,33278],{"class":3753,"line":3754},[3751,33267,5173],{"class":3805},[3751,33269,5176],{"class":3761},[3751,33271,19914],{"class":3811},[3751,33273,5181],{"class":3761},[3751,33275,5184],{"class":3805},[3751,33277,11874],{"class":3784},[3751,33279,3867],{"class":3761},[3751,33281,33282,33284,33286,33288,33290,33292,33294,33297,33299,33302,33304,33306,33308],{"class":3753,"line":3802},[3751,33283,5173],{"class":3805},[3751,33285,5176],{"class":3761},[3751,33287,7310],{"class":3811},[3751,33289,3640],{"class":3761},[3751,33291,5198],{"class":3811},[3751,33293,3640],{"class":3761},[3751,33295,33296],{"class":3811},"TextProps",[3751,33298,3640],{"class":3761},[3751,33300,33301],{"class":3811},"TextStyle",[3751,33303,5181],{"class":3761},[3751,33305,5184],{"class":3805},[3751,33307,5205],{"class":3784},[3751,33309,3867],{"class":3761},[3751,33311,33312],{"class":3753,"line":3870},[3751,33313,5213],{"emptyLinePlaceholder":5212},[3751,33315,33316,33318,33320,33322,33324,33326,33328],{"class":3753,"line":4471},[3751,33317,5173],{"class":3805},[3751,33319,5176],{"class":3761},[3751,33321,10882],{"class":3811},[3751,33323,5181],{"class":3761},[3751,33325,5184],{"class":3805},[3751,33327,10889],{"class":3784},[3751,33329,3867],{"class":3761},[3751,33331,33332],{"class":3753,"line":4481},[3751,33333,5213],{"emptyLinePlaceholder":5212},[3751,33335,33336,33338,33341,33343,33346,33348,33351,33353,33356,33358,33361],{"class":3753,"line":4491},[3751,33337,12042],{"class":3757},[3751,33339,33340],{"class":3829}," AppTextVariant",[3751,33342,5457],{"class":3761},[3751,33344,33345],{"class":3784},"'body'",[3751,33347,3788],{"class":3761},[3751,33349,33350],{"class":3784},"'title'",[3751,33352,3788],{"class":3761},[3751,33354,33355],{"class":3784},"'subtitle'",[3751,33357,3788],{"class":3761},[3751,33359,33360],{"class":3784},"'caption'",[3751,33362,3867],{"class":3761},[3751,33364,33365],{"class":3753,"line":4532},[3751,33366,5213],{"emptyLinePlaceholder":5212},[3751,33368,33369,33371,33374,33376,33378],{"class":3753,"line":4566},[3751,33370,12042],{"class":3757},[3751,33372,33373],{"class":3829}," AppTextProps",[3751,33375,5457],{"class":3761},[3751,33377,33296],{"class":3829},[3751,33379,33380],{"class":3761}," & {\n",[3751,33382,33383,33385,33387,33389],{"class":3753,"line":4576},[3751,33384,19909],{"class":3811},[3751,33386,4806],{"class":3761},[3751,33388,19914],{"class":3829},[3751,33390,3867],{"class":3761},[3751,33392,33393,33396,33398,33401],{"class":3753,"line":4586},[3751,33394,33395],{"class":3811},"  variant",[3751,33397,18294],{"class":3761},[3751,33399,33400],{"class":3829},"AppTextVariant",[3751,33402,3867],{"class":3761},[3751,33404,33405],{"class":3753,"line":4596},[3751,33406,33407],{"class":5471},"  \u002F** Якщо не передано — body\u002Ftitle\u002Fsubtitle → text, caption → textSecondary. *\u002F\n",[3751,33409,33410,33413,33415,33417],{"class":3753,"line":4602},[3751,33411,33412],{"class":3811},"  color",[3751,33414,18294],{"class":3761},[3751,33416,6057],{"class":3829},[3751,33418,3867],{"class":3761},[3751,33420,33421,33424,33426,33428,33430,33432],{"class":3753,"line":6159},[3751,33422,33423],{"class":3811},"  style",[3751,33425,18294],{"class":3761},[3751,33427,33301],{"class":3829},[3751,33429,3788],{"class":3761},[3751,33431,33301],{"class":3829},[3751,33433,19808],{"class":3761},[3751,33435,33436],{"class":3753,"line":6170},[3751,33437,6108],{"class":3761},[3751,33439,33440],{"class":3753,"line":6181},[3751,33441,5213],{"emptyLinePlaceholder":5212},[3751,33443,33444,33446,33448,33451],{"class":3753,"line":6187},[3751,33445,4438],{"class":3805},[3751,33447,4444],{"class":3757},[3751,33449,33450],{"class":3777}," AppText",[3751,33452,7915],{"class":3761},[3751,33454,33455,33457],{"class":3753,"line":6195},[3751,33456,19909],{"class":3811},[3751,33458,6146],{"class":3761},[3751,33460,33461,33463,33465,33467],{"class":3753,"line":6201},[3751,33462,33395],{"class":3811},[3751,33464,5457],{"class":3761},[3751,33466,33345],{"class":3784},[3751,33468,6146],{"class":3761},[3751,33470,33471,33473],{"class":3753,"line":6206},[3751,33472,33412],{"class":3811},[3751,33474,6146],{"class":3761},[3751,33476,33477,33479],{"class":3753,"line":6216},[3751,33478,33423],{"class":3811},[3751,33480,6146],{"class":3761},[3751,33482,33483,33486],{"class":3753,"line":6226},[3751,33484,33485],{"class":3761},"  ...",[3751,33487,33488],{"class":3811},"rest\n",[3751,33490,33491,33493,33496],{"class":3753,"line":6236},[3751,33492,22244],{"class":3761},[3751,33494,33495],{"class":3829},"AppTextProps",[3751,33497,8964],{"class":3761},[3751,33499,33500,33502,33504,33506,33508,33510,33512,33514],{"class":3753,"line":6246},[3751,33501,8859],{"class":3757},[3751,33503,5176],{"class":3761},[3751,33505,10934],{"class":3765},[3751,33507,3640],{"class":3761},[3751,33509,32357],{"class":3765},[3751,33511,8866],{"class":3761},[3751,33513,10882],{"class":3777},[3751,33515,5462],{"class":3761},[3751,33517,33518,33520,33523],{"class":3753,"line":6251},[3751,33519,8859],{"class":3757},[3751,33521,33522],{"class":3765}," resolvedColor",[3751,33524,33525],{"class":3761}," =\n",[3751,33527,33528,33531],{"class":3753,"line":6259},[3751,33529,33530],{"class":3811},"    color",[3751,33532,33533],{"class":3761}," ??\n",[3751,33535,33536,33539,33542,33544,33546,33548,33550,33552,33554,33556,33558,33560,33562],{"class":3753,"line":6264},[3751,33537,33538],{"class":3761},"    (",[3751,33540,33541],{"class":3811},"variant",[3751,33543,3814],{"class":3761},[3751,33545,33360],{"class":3784},[3751,33547,8933],{"class":3761},[3751,33549,10934],{"class":3811},[3751,33551,3601],{"class":3761},[3751,33553,4980],{"class":3811},[3751,33555,32649],{"class":3761},[3751,33557,10934],{"class":3811},[3751,33559,3601],{"class":3761},[3751,33561,4249],{"class":3811},[3751,33563,3799],{"class":3761},[3751,33565,33566],{"class":3753,"line":6269},[3751,33567,5213],{"emptyLinePlaceholder":5212},[3751,33569,33570,33572],{"class":3753,"line":6279},[3751,33571,4455],{"class":3805},[3751,33573,4458],{"class":3761},[3751,33575,33576,33578],{"class":3753,"line":6289},[3751,33577,4463],{"class":3825},[3751,33579,33580],{"class":3829},"Text\n",[3751,33582,33583,33585,33587,33589],{"class":3753,"line":6299},[3751,33584,13093],{"class":3833},[3751,33586,3837],{"class":3761},[3751,33588,3840],{"class":3757},[3751,33590,13100],{"class":3843},[3751,33592,33593,33595,33597,33599],{"class":3753,"line":6309},[3751,33594,13106],{"class":3811},[3751,33596,3601],{"class":3843},[3751,33598,22121],{"class":3811},[3751,33600,6146],{"class":3843},[3751,33602,33603,33605,33607,33610,33612,33614,33616,33618,33620,33622,33624,33626,33628],{"class":3753,"line":6314},[3751,33604,13241],{"class":3811},[3751,33606,10976],{"class":3761},[3751,33608,33609],{"class":3784}," 'body'",[3751,33611,27190],{"class":3761},[3751,33613,5176],{"class":3843},[3751,33615,7002],{"class":3811},[3751,33617,32001],{"class":3811},[3751,33619,3601],{"class":3843},[3751,33621,12693],{"class":3811},[3751,33623,3640],{"class":3843},[3751,33625,8681],{"class":3811},[3751,33627,8006],{"class":7005},[3751,33629,6665],{"class":3843},[3751,33631,33632,33634,33636,33639,33641],{"class":3753,"line":6322},[3751,33633,13241],{"class":3811},[3751,33635,10976],{"class":3761},[3751,33637,33638],{"class":3784}," 'title'",[3751,33640,27190],{"class":3761},[3751,33642,6493],{"class":3843},[3751,33644,33645,33647,33649,33651,33653],{"class":3753,"line":6327},[3751,33646,11499],{"class":3811},[3751,33648,32001],{"class":3811},[3751,33650,3601],{"class":3843},[3751,33652,13146],{"class":3811},[3751,33654,6146],{"class":3843},[3751,33656,33657,33659,33661],{"class":3753,"line":6332},[3751,33658,11508],{"class":3811},[3751,33660,8148],{"class":3784},[3751,33662,6146],{"class":3843},[3751,33664,33665,33668,33671],{"class":3753,"line":6342},[3751,33666,33667],{"class":3811},"          lineHeight:",[3751,33669,33670],{"class":7005}," 34",[3751,33672,6146],{"class":3843},[3751,33674,33675],{"class":3753,"line":6352},[3751,33676,6992],{"class":3843},[3751,33678,33679,33681,33683,33686,33688],{"class":3753,"line":6362},[3751,33680,13241],{"class":3811},[3751,33682,10976],{"class":3761},[3751,33684,33685],{"class":3784}," 'subtitle'",[3751,33687,27190],{"class":3761},[3751,33689,6493],{"class":3843},[3751,33691,33692,33694,33696,33698,33700],{"class":3753,"line":6372},[3751,33693,11499],{"class":3811},[3751,33695,32001],{"class":3811},[3751,33697,3601],{"class":3843},[3751,33699,27472],{"class":3811},[3751,33701,6146],{"class":3843},[3751,33703,33704,33706,33708],{"class":3753,"line":6377},[3751,33705,11508],{"class":3811},[3751,33707,6688],{"class":3784},[3751,33709,6146],{"class":3843},[3751,33711,33712,33714,33716],{"class":3753,"line":6385},[3751,33713,33667],{"class":3811},[3751,33715,32035],{"class":7005},[3751,33717,6146],{"class":3843},[3751,33719,33720],{"class":3753,"line":6390},[3751,33721,6992],{"class":3843},[3751,33723,33724,33726,33728,33731,33733],{"class":3753,"line":6395},[3751,33725,13241],{"class":3811},[3751,33727,10976],{"class":3761},[3751,33729,33730],{"class":3784}," 'caption'",[3751,33732,27190],{"class":3761},[3751,33734,6493],{"class":3843},[3751,33736,33737,33739,33741,33743,33745],{"class":3753,"line":6405},[3751,33738,11499],{"class":3811},[3751,33740,32001],{"class":3811},[3751,33742,3601],{"class":3843},[3751,33744,12756],{"class":3811},[3751,33746,6146],{"class":3843},[3751,33748,33749,33751,33753],{"class":3753,"line":6415},[3751,33750,33667],{"class":3811},[3751,33752,32026],{"class":7005},[3751,33754,6146],{"class":3843},[3751,33756,33757],{"class":3753,"line":6425},[3751,33758,6992],{"class":3843},[3751,33760,33761,33764,33766,33768],{"class":3753,"line":6435},[3751,33762,33763],{"class":3843},"        { ",[3751,33765,6693],{"class":3811},[3751,33767,33522],{"class":3811},[3751,33769,6665],{"class":3843},[3751,33771,33772,33774],{"class":3753,"line":6440},[3751,33773,13270],{"class":3811},[3751,33775,6146],{"class":3843},[3751,33777,33778,33780],{"class":3753,"line":6448},[3751,33779,13173],{"class":3843},[3751,33781,4605],{"class":3757},[3751,33783,33784,33786,33789,33792],{"class":3753,"line":6453},[3751,33785,12716],{"class":3757},[3751,33787,33788],{"class":3761},"...",[3751,33790,33791],{"class":3811},"rest",[3751,33793,4605],{"class":3757},[3751,33795,33796],{"class":3753,"line":6459},[3751,33797,7026],{"class":3825},[3751,33799,33800,33802,33804],{"class":3753,"line":6464},[3751,33801,12716],{"class":3757},[3751,33803,19938],{"class":3811},[3751,33805,4605],{"class":3757},[3751,33807,33808,33810,33812],{"class":3753,"line":6496},[3751,33809,4589],{"class":3825},[3751,33811,5198],{"class":3829},[3751,33813,4468],{"class":3825},[3751,33815,33816],{"class":3753,"line":6531},[3751,33817,4599],{"class":3761},[3751,33819,33820],{"class":3753,"line":8184},[3751,33821,4605],{"class":3761},[3751,33823,33824],{"class":3753,"line":8192},[3751,33825,5213],{"emptyLinePlaceholder":5212},[3751,33827,33828,33830,33832,33834,33836,33838,33840],{"class":3753,"line":8202},[3751,33829,3758],{"class":3757},[3751,33831,7903],{"class":3765},[3751,33833,5457],{"class":3761},[3751,33835,7310],{"class":3811},[3751,33837,3601],{"class":3761},[3751,33839,7912],{"class":3777},[3751,33841,7915],{"class":3761},[3751,33843,33844,33847],{"class":3753,"line":8212},[3751,33845,33846],{"class":3811},"  base:",[3751,33848,30517],{"class":3761},[3751,33850,33851],{"class":3753,"line":8222},[3751,33852,8240],{"class":3761},[3742,33854,33857],{"className":3744,"code":33855,"filename":33856,"language":3746,"meta":3747,"style":3747},"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",[3521,33858,33859,33887,33891,33907,33911,33930,33934,33943,33953,33965,33976,33986,33997,34001,34005,34016,34022,34028,34038,34044,34054,34063,34089,34106,34110,34116,34122,34130,34144,34156,34174,34184,34188,34204,34216,34228,34252,34269,34281,34285,34297,34305,34323,34337,34347,34366,34372,34378,34382,34388,34398,34408,34412,34436,34449,34453,34459,34463,34471,34479,34487,34491,34495,34499,34515,34521,34529,34533,34540,34549,34553,34559,34567,34571],{"__ignoreMap":3747},[3751,33860,33861,33863,33865,33867,33869,33871,33873,33875,33877,33879,33881,33883,33885],{"class":3753,"line":3754},[3751,33862,5173],{"class":3805},[3751,33864,5176],{"class":3761},[3751,33866,5298],{"class":3811},[3751,33868,3640],{"class":3761},[3751,33870,7310],{"class":3811},[3751,33872,3640],{"class":3761},[3751,33874,5198],{"class":3811},[3751,33876,3640],{"class":3761},[3751,33878,4984],{"class":3811},[3751,33880,5181],{"class":3761},[3751,33882,5184],{"class":3805},[3751,33884,5205],{"class":3784},[3751,33886,3867],{"class":3761},[3751,33888,33889],{"class":3753,"line":3802},[3751,33890,5213],{"emptyLinePlaceholder":5212},[3751,33892,33893,33895,33897,33899,33901,33903,33905],{"class":3753,"line":3870},[3751,33894,5173],{"class":3805},[3751,33896,5176],{"class":3761},[3751,33898,10882],{"class":3811},[3751,33900,5181],{"class":3761},[3751,33902,5184],{"class":3805},[3751,33904,10889],{"class":3784},[3751,33906,3867],{"class":3761},[3751,33908,33909],{"class":3753,"line":4471},[3751,33910,5213],{"emptyLinePlaceholder":5212},[3751,33912,33913,33915,33918,33920,33923,33925,33928],{"class":3753,"line":4481},[3751,33914,12042],{"class":3757},[3751,33916,33917],{"class":3829}," ButtonVariant",[3751,33919,5457],{"class":3761},[3751,33921,33922],{"class":3784},"'primary'",[3751,33924,3788],{"class":3761},[3751,33926,33927],{"class":3784},"'secondary'",[3751,33929,3867],{"class":3761},[3751,33931,33932],{"class":3753,"line":4491},[3751,33933,5213],{"emptyLinePlaceholder":5212},[3751,33935,33936,33938,33941],{"class":3753,"line":4532},[3751,33937,12042],{"class":3757},[3751,33939,33940],{"class":3829}," ButtonProps",[3751,33942,6047],{"class":3761},[3751,33944,33945,33947,33949,33951],{"class":3753,"line":4566},[3751,33946,26229],{"class":3811},[3751,33948,4806],{"class":3761},[3751,33950,6057],{"class":3829},[3751,33952,3867],{"class":3761},[3751,33954,33955,33957,33959,33961,33963],{"class":3753,"line":4576},[3751,33956,29251],{"class":3777},[3751,33958,19849],{"class":3761},[3751,33960,3847],{"class":3757},[3751,33962,19834],{"class":3829},[3751,33964,3867],{"class":3761},[3751,33966,33967,33970,33972,33974],{"class":3753,"line":4586},[3751,33968,33969],{"class":3811},"  disabled",[3751,33971,18294],{"class":3761},[3751,33973,4840],{"class":3829},[3751,33975,3867],{"class":3761},[3751,33977,33978,33980,33982,33984],{"class":3753,"line":4596},[3751,33979,33423],{"class":3811},[3751,33981,18294],{"class":3761},[3751,33983,4984],{"class":3829},[3751,33985,3867],{"class":3761},[3751,33987,33988,33990,33992,33995],{"class":3753,"line":4602},[3751,33989,33395],{"class":3811},[3751,33991,18294],{"class":3761},[3751,33993,33994],{"class":3829},"ButtonVariant",[3751,33996,3867],{"class":3761},[3751,33998,33999],{"class":3753,"line":6159},[3751,34000,6108],{"class":3761},[3751,34002,34003],{"class":3753,"line":6170},[3751,34004,5213],{"emptyLinePlaceholder":5212},[3751,34006,34007,34009,34011,34014],{"class":3753,"line":6181},[3751,34008,4438],{"class":3805},[3751,34010,4444],{"class":3757},[3751,34012,34013],{"class":3777}," Button",[3751,34015,7915],{"class":3761},[3751,34017,34018,34020],{"class":3753,"line":6187},[3751,34019,26229],{"class":3811},[3751,34021,6146],{"class":3761},[3751,34023,34024,34026],{"class":3753,"line":6195},[3751,34025,29251],{"class":3811},[3751,34027,6146],{"class":3761},[3751,34029,34030,34032,34034,34036],{"class":3753,"line":6201},[3751,34031,33969],{"class":3811},[3751,34033,5457],{"class":3761},[3751,34035,4844],{"class":3757},[3751,34037,6146],{"class":3761},[3751,34039,34040,34042],{"class":3753,"line":6206},[3751,34041,33423],{"class":3811},[3751,34043,6146],{"class":3761},[3751,34045,34046,34048,34050,34052],{"class":3753,"line":6216},[3751,34047,33395],{"class":3811},[3751,34049,5457],{"class":3761},[3751,34051,33922],{"class":3784},[3751,34053,6146],{"class":3761},[3751,34055,34056,34058,34061],{"class":3753,"line":6226},[3751,34057,22244],{"class":3761},[3751,34059,34060],{"class":3829},"ButtonProps",[3751,34062,8964],{"class":3761},[3751,34064,34065,34067,34069,34071,34073,34075,34077,34079,34081,34083,34085,34087],{"class":3753,"line":6236},[3751,34066,8859],{"class":3757},[3751,34068,5176],{"class":3761},[3751,34070,10934],{"class":3765},[3751,34072,3640],{"class":3761},[3751,34074,12236],{"class":3765},[3751,34076,3640],{"class":3761},[3751,34078,22266],{"class":3765},[3751,34080,3640],{"class":3761},[3751,34082,32357],{"class":3765},[3751,34084,8866],{"class":3761},[3751,34086,10882],{"class":3777},[3751,34088,5462],{"class":3761},[3751,34090,34091,34093,34096,34098,34100,34102,34104],{"class":3753,"line":6246},[3751,34092,8859],{"class":3757},[3751,34094,34095],{"class":3765}," isPrimary",[3751,34097,5457],{"class":3761},[3751,34099,33541],{"class":3811},[3751,34101,3814],{"class":3761},[3751,34103,33922],{"class":3784},[3751,34105,3867],{"class":3761},[3751,34107,34108],{"class":3753,"line":6251},[3751,34109,5213],{"emptyLinePlaceholder":5212},[3751,34111,34112,34114],{"class":3753,"line":6259},[3751,34113,4455],{"class":3805},[3751,34115,4458],{"class":3761},[3751,34117,34118,34120],{"class":3753,"line":6264},[3751,34119,4463],{"class":3825},[3751,34121,13846],{"class":3829},[3751,34123,34124,34126,34128],{"class":3753,"line":6269},[3751,34125,29341],{"class":3833},[3751,34127,3837],{"class":3761},[3751,34129,13990],{"class":3784},[3751,34131,34132,34135,34137,34139,34142],{"class":3753,"line":6279},[3751,34133,34134],{"class":3833},"      disabled",[3751,34136,3837],{"class":3761},[3751,34138,3840],{"class":3757},[3751,34140,34141],{"class":3811},"disabled",[3751,34143,4605],{"class":3757},[3751,34145,34146,34148,34150,34152,34154],{"class":3753,"line":6289},[3751,34147,29376],{"class":3833},[3751,34149,3837],{"class":3761},[3751,34151,3840],{"class":3757},[3751,34153,5381],{"class":3811},[3751,34155,4605],{"class":3757},[3751,34157,34158,34160,34162,34164,34166,34168,34170,34172],{"class":3753,"line":6299},[3751,34159,13093],{"class":3833},[3751,34161,3837],{"class":3761},[3751,34163,3840],{"class":3757},[3751,34165,7670],{"class":3843},[3751,34167,29408],{"class":3811},[3751,34169,7084],{"class":3843},[3751,34171,3847],{"class":3757},[3751,34173,29415],{"class":3843},[3751,34175,34176,34178,34180,34182],{"class":3753,"line":6309},[3751,34177,13106],{"class":3811},[3751,34179,3601],{"class":3843},[3751,34181,22121],{"class":3811},[3751,34183,6146],{"class":3843},[3751,34185,34186],{"class":3753,"line":6314},[3751,34187,13119],{"class":3843},[3751,34189,34190,34192,34194,34196,34198,34200,34202],{"class":3753,"line":6322},[3751,34191,13139],{"class":3811},[3751,34193,12688],{"class":3811},[3751,34195,3601],{"class":3843},[3751,34197,12756],{"class":3811},[3751,34199,17295],{"class":3761},[3751,34201,8034],{"class":7005},[3751,34203,6146],{"class":3843},[3751,34205,34206,34208,34210,34212,34214],{"class":3753,"line":6327},[3751,34207,13125],{"class":3811},[3751,34209,12688],{"class":3811},[3751,34211,3601],{"class":3843},[3751,34213,12693],{"class":3811},[3751,34215,6146],{"class":3843},[3751,34217,34218,34220,34222,34224,34226],{"class":3753,"line":6332},[3751,34219,29459],{"class":3811},[3751,34221,23487],{"class":3811},[3751,34223,3601],{"class":3843},[3751,34225,12693],{"class":3811},[3751,34227,6146],{"class":3843},[3751,34229,34230,34232,34234,34236,34238,34240,34242,34244,34246,34248,34250],{"class":3753,"line":6342},[3751,34231,6973],{"class":3811},[3751,34233,34095],{"class":3811},[3751,34235,10982],{"class":3761},[3751,34237,11021],{"class":3811},[3751,34239,3601],{"class":3843},[3751,34241,11055],{"class":3811},[3751,34243,10988],{"class":3761},[3751,34245,11021],{"class":3811},[3751,34247,3601],{"class":3843},[3751,34249,13949],{"class":3811},[3751,34251,6146],{"class":3843},[3751,34253,34254,34257,34259,34261,34263,34265,34267],{"class":3753,"line":6352},[3751,34255,34256],{"class":3811},"          borderWidth:",[3751,34258,34095],{"class":3811},[3751,34260,10982],{"class":3761},[3751,34262,12728],{"class":7005},[3751,34264,10988],{"class":3761},[3751,34266,7928],{"class":7005},[3751,34268,6146],{"class":3843},[3751,34270,34271,34273,34275,34277,34279],{"class":3753,"line":6362},[3751,34272,29446],{"class":3811},[3751,34274,11021],{"class":3811},[3751,34276,3601],{"class":3843},[3751,34278,11482],{"class":3811},[3751,34280,6146],{"class":3843},[3751,34282,34283],{"class":3753,"line":6372},[3751,34284,6992],{"class":3843},[3751,34286,34287,34289,34291,34294],{"class":3753,"line":6377},[3751,34288,29476],{"class":3811},[3751,34290,27190],{"class":3761},[3751,34292,34293],{"class":3761}," !",[3751,34295,34296],{"class":3811},"disabled\n",[3751,34298,34299,34302],{"class":3753,"line":6385},[3751,34300,34301],{"class":3761},"          ?",[3751,34303,34304],{"class":3811}," isPrimary\n",[3751,34306,34307,34309,34311,34313,34315,34317,34320],{"class":3753,"line":6390},[3751,34308,13677],{"class":3761},[3751,34310,5176],{"class":3843},[3751,34312,6659],{"class":3811},[3751,34314,11021],{"class":3811},[3751,34316,3601],{"class":3843},[3751,34318,34319],{"class":3811},"primaryPressed",[3751,34321,34322],{"class":3843}," }\n",[3751,34324,34325,34327,34329,34332,34335],{"class":3753,"line":6395},[3751,34326,13712],{"class":3761},[3751,34328,5176],{"class":3843},[3751,34330,34331],{"class":3811},"opacity:",[3751,34333,34334],{"class":7005}," 0.85",[3751,34336,34322],{"class":3843},[3751,34338,34339,34342,34345],{"class":3753,"line":6405},[3751,34340,34341],{"class":3761},"          :",[3751,34343,34344],{"class":3757}," null",[3751,34346,6146],{"class":3843},[3751,34348,34349,34352,34354,34356,34358,34360,34362,34364],{"class":3753,"line":6415},[3751,34350,34351],{"class":3811},"        disabled",[3751,34353,10982],{"class":3761},[3751,34355,7903],{"class":3811},[3751,34357,3601],{"class":3843},[3751,34359,34141],{"class":3811},[3751,34361,10988],{"class":3761},[3751,34363,34344],{"class":3757},[3751,34365,6146],{"class":3843},[3751,34367,34368,34370],{"class":3753,"line":6425},[3751,34369,13270],{"class":3811},[3751,34371,6146],{"class":3843},[3751,34373,34374,34376],{"class":3753,"line":6435},[3751,34375,13173],{"class":3843},[3751,34377,4605],{"class":3757},[3751,34379,34380],{"class":3753,"line":6440},[3751,34381,7026],{"class":3825},[3751,34383,34384,34386],{"class":3753,"line":6448},[3751,34385,4474],{"class":3825},[3751,34387,33580],{"class":3829},[3751,34389,34390,34392,34394,34396],{"class":3753,"line":6453},[3751,34391,13270],{"class":3833},[3751,34393,3837],{"class":3761},[3751,34395,3840],{"class":3757},[3751,34397,13100],{"class":3843},[3751,34399,34400,34402,34404,34406],{"class":3753,"line":6459},[3751,34401,13376],{"class":3811},[3751,34403,3601],{"class":3843},[3751,34405,12107],{"class":3811},[3751,34407,6146],{"class":3843},[3751,34409,34410],{"class":3753,"line":6464},[3751,34411,13388],{"class":3843},[3751,34413,34414,34416,34418,34420,34422,34424,34426,34428,34430,34432,34434],{"class":3753,"line":6496},[3751,34415,13623],{"class":3811},[3751,34417,34095],{"class":3811},[3751,34419,10982],{"class":3761},[3751,34421,11021],{"class":3811},[3751,34423,3601],{"class":3843},[3751,34425,14084],{"class":3811},[3751,34427,10988],{"class":3761},[3751,34429,11021],{"class":3811},[3751,34431,3601],{"class":3843},[3751,34433,4249],{"class":3811},[3751,34435,6146],{"class":3843},[3751,34437,34438,34441,34443,34445,34447],{"class":3753,"line":6531},[3751,34439,34440],{"class":3811},"            fontSize:",[3751,34442,32001],{"class":3811},[3751,34444,3601],{"class":3843},[3751,34446,12693],{"class":3811},[3751,34448,6146],{"class":3843},[3751,34450,34451],{"class":3753,"line":8184},[3751,34452,13465],{"class":3843},[3751,34454,34455,34457],{"class":3753,"line":8192},[3751,34456,13471],{"class":3843},[3751,34458,4605],{"class":3757},[3751,34460,34461],{"class":3753,"line":8202},[3751,34462,6723],{"class":3825},[3751,34464,34465,34467,34469],{"class":3753,"line":8212},[3751,34466,23067],{"class":3757},[3751,34468,12107],{"class":3811},[3751,34470,4605],{"class":3757},[3751,34472,34473,34475,34477],{"class":3753,"line":8222},[3751,34474,4579],{"class":3825},[3751,34476,5198],{"class":3829},[3751,34478,4468],{"class":3825},[3751,34480,34481,34483,34485],{"class":3753,"line":8232},[3751,34482,4589],{"class":3825},[3751,34484,5298],{"class":3829},[3751,34486,4468],{"class":3825},[3751,34488,34489],{"class":3753,"line":8237},[3751,34490,4599],{"class":3761},[3751,34492,34493],{"class":3753,"line":12660},[3751,34494,4605],{"class":3761},[3751,34496,34497],{"class":3753,"line":12671},[3751,34498,5213],{"emptyLinePlaceholder":5212},[3751,34500,34501,34503,34505,34507,34509,34511,34513],{"class":3753,"line":12713},[3751,34502,3758],{"class":3757},[3751,34504,7903],{"class":3765},[3751,34506,5457],{"class":3761},[3751,34508,7310],{"class":3811},[3751,34510,3601],{"class":3761},[3751,34512,7912],{"class":3777},[3751,34514,7915],{"class":3761},[3751,34516,34517,34519],{"class":3753,"line":12735},[3751,34518,33846],{"class":3811},[3751,34520,6493],{"class":3761},[3751,34522,34523,34525,34527],{"class":3753,"line":12765},[3751,34524,9429],{"class":3811},[3751,34526,9422],{"class":3784},[3751,34528,6146],{"class":3761},[3751,34530,34531],{"class":3753,"line":12799},[3751,34532,6198],{"class":3761},[3751,34534,34535,34538],{"class":3753,"line":12806},[3751,34536,34537],{"class":3811},"  disabled:",[3751,34539,6493],{"class":3761},[3751,34541,34542,34544,34547],{"class":3753,"line":12812},[3751,34543,30537],{"class":3811},[3751,34545,34546],{"class":7005}," 0.5",[3751,34548,6146],{"class":3761},[3751,34550,34551],{"class":3753,"line":12826},[3751,34552,6198],{"class":3761},[3751,34554,34555,34557],{"class":3753,"line":12852},[3751,34556,28075],{"class":3811},[3751,34558,6493],{"class":3761},[3751,34560,34561,34563,34565],{"class":3753,"line":12872},[3751,34562,8215],{"class":3811},[3751,34564,6688],{"class":3784},[3751,34566,6146],{"class":3761},[3751,34568,34569],{"class":3753,"line":12904},[3751,34570,6198],{"class":3761},[3751,34572,34573],{"class":3753,"line":12912},[3751,34574,8240],{"class":3761},[3742,34576,34579],{"className":3744,"code":34577,"filename":34578,"language":3746,"meta":3747,"style":3747},"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",[3521,34580,34581,34597,34617,34633,34637,34657,34661,34670,34680,34690,34694,34698,34723,34737,34741,34747,34754,34790,34794,34802,34810,34814,34818,34822,34838,34845,34853,34865,34869],{"__ignoreMap":3747},[3751,34582,34583,34585,34587,34589,34591,34593,34595],{"class":3753,"line":3754},[3751,34584,5173],{"class":3805},[3751,34586,5176],{"class":3761},[3751,34588,19914],{"class":3811},[3751,34590,5181],{"class":3761},[3751,34592,5184],{"class":3805},[3751,34594,11874],{"class":3784},[3751,34596,3867],{"class":3761},[3751,34598,34599,34601,34603,34605,34607,34609,34611,34613,34615],{"class":3753,"line":3802},[3751,34600,5173],{"class":3805},[3751,34602,5176],{"class":3761},[3751,34604,7310],{"class":3811},[3751,34606,3640],{"class":3761},[3751,34608,4984],{"class":3811},[3751,34610,5181],{"class":3761},[3751,34612,5184],{"class":3805},[3751,34614,5205],{"class":3784},[3751,34616,3867],{"class":3761},[3751,34618,34619,34621,34623,34625,34627,34629,34631],{"class":3753,"line":3870},[3751,34620,5173],{"class":3805},[3751,34622,5176],{"class":3761},[3751,34624,5728],{"class":3811},[3751,34626,5181],{"class":3761},[3751,34628,5184],{"class":3805},[3751,34630,7358],{"class":3784},[3751,34632,3867],{"class":3761},[3751,34634,34635],{"class":3753,"line":4471},[3751,34636,5213],{"emptyLinePlaceholder":5212},[3751,34638,34639,34641,34643,34645,34647,34649,34651,34653,34655],{"class":3753,"line":4481},[3751,34640,5173],{"class":3805},[3751,34642,5176],{"class":3761},[3751,34644,32366],{"class":3811},[3751,34646,3640],{"class":3761},[3751,34648,10882],{"class":3811},[3751,34650,5181],{"class":3761},[3751,34652,5184],{"class":3805},[3751,34654,10889],{"class":3784},[3751,34656,3867],{"class":3761},[3751,34658,34659],{"class":3753,"line":4491},[3751,34660,5213],{"emptyLinePlaceholder":5212},[3751,34662,34663,34665,34668],{"class":3753,"line":4532},[3751,34664,12042],{"class":3757},[3751,34666,34667],{"class":3829}," ScreenProps",[3751,34669,6047],{"class":3761},[3751,34671,34672,34674,34676,34678],{"class":3753,"line":4566},[3751,34673,19909],{"class":3811},[3751,34675,4806],{"class":3761},[3751,34677,19914],{"class":3829},[3751,34679,3867],{"class":3761},[3751,34681,34682,34684,34686,34688],{"class":3753,"line":4576},[3751,34683,33423],{"class":3811},[3751,34685,18294],{"class":3761},[3751,34687,4984],{"class":3829},[3751,34689,3867],{"class":3761},[3751,34691,34692],{"class":3753,"line":4586},[3751,34693,6108],{"class":3761},[3751,34695,34696],{"class":3753,"line":4596},[3751,34697,5213],{"emptyLinePlaceholder":5212},[3751,34699,34700,34702,34704,34707,34709,34711,34713,34716,34718,34721],{"class":3753,"line":4602},[3751,34701,4438],{"class":3805},[3751,34703,4444],{"class":3757},[3751,34705,34706],{"class":3777}," Screen",[3751,34708,7670],{"class":3761},[3751,34710,19938],{"class":3811},[3751,34712,3640],{"class":3761},[3751,34714,34715],{"class":3811},"style",[3751,34717,19941],{"class":3761},[3751,34719,34720],{"class":3829},"ScreenProps",[3751,34722,8964],{"class":3761},[3751,34724,34725,34727,34729,34731,34733,34735],{"class":3753,"line":6159},[3751,34726,8859],{"class":3757},[3751,34728,5176],{"class":3761},[3751,34730,10934],{"class":3765},[3751,34732,8866],{"class":3761},[3751,34734,10882],{"class":3777},[3751,34736,5462],{"class":3761},[3751,34738,34739],{"class":3753,"line":6170},[3751,34740,5213],{"emptyLinePlaceholder":5212},[3751,34742,34743,34745],{"class":3753,"line":6181},[3751,34744,4455],{"class":3805},[3751,34746,4458],{"class":3761},[3751,34748,34749,34751],{"class":3753,"line":6187},[3751,34750,4463],{"class":3825},[3751,34752,34753],{"class":3829},"SafeAreaView\n",[3751,34755,34756,34758,34760,34762,34764,34766,34768,34771,34773,34775,34777,34779,34781,34784,34786,34788],{"class":3753,"line":6195},[3751,34757,13093],{"class":3833},[3751,34759,3837],{"class":3761},[3751,34761,3840],{"class":3757},[3751,34763,7436],{"class":3843},[3751,34765,5308],{"class":3811},[3751,34767,3601],{"class":3843},[3751,34769,34770],{"class":3811},"root",[3751,34772,13756],{"class":3843},[3751,34774,6659],{"class":3811},[3751,34776,11021],{"class":3811},[3751,34778,3601],{"class":3843},[3751,34780,11026],{"class":3811},[3751,34782,34783],{"class":3843}," }, ",[3751,34785,34715],{"class":3811},[3751,34787,7442],{"class":3843},[3751,34789,4605],{"class":3757},[3751,34791,34792],{"class":3753,"line":6201},[3751,34793,7026],{"class":3825},[3751,34795,34796,34798,34800],{"class":3753,"line":6206},[3751,34797,12716],{"class":3757},[3751,34799,19938],{"class":3811},[3751,34801,4605],{"class":3757},[3751,34803,34804,34806,34808],{"class":3753,"line":6216},[3751,34805,4589],{"class":3825},[3751,34807,5728],{"class":3829},[3751,34809,4468],{"class":3825},[3751,34811,34812],{"class":3753,"line":6226},[3751,34813,4599],{"class":3761},[3751,34815,34816],{"class":3753,"line":6236},[3751,34817,4605],{"class":3761},[3751,34819,34820],{"class":3753,"line":6246},[3751,34821,5213],{"emptyLinePlaceholder":5212},[3751,34823,34824,34826,34828,34830,34832,34834,34836],{"class":3753,"line":6251},[3751,34825,3758],{"class":3757},[3751,34827,7903],{"class":3765},[3751,34829,5457],{"class":3761},[3751,34831,7310],{"class":3811},[3751,34833,3601],{"class":3761},[3751,34835,7912],{"class":3777},[3751,34837,7915],{"class":3761},[3751,34839,34840,34843],{"class":3753,"line":6259},[3751,34841,34842],{"class":3811},"  root:",[3751,34844,6493],{"class":3761},[3751,34846,34847,34849,34851],{"class":3753,"line":6264},[3751,34848,9402],{"class":3811},[3751,34850,7928],{"class":7005},[3751,34852,6146],{"class":3761},[3751,34854,34855,34857,34859,34861,34863],{"class":3753,"line":6269},[3751,34856,7948],{"class":3811},[3751,34858,31883],{"class":3811},[3751,34860,3601],{"class":3761},[3751,34862,12693],{"class":3811},[3751,34864,6146],{"class":3761},[3751,34866,34867],{"class":3753,"line":6279},[3751,34868,6198],{"class":3761},[3751,34870,34871],{"class":3753,"line":6289},[3751,34872,8240],{"class":3761},[3742,34874,34877],{"className":3744,"code":34875,"filename":34876,"language":3746,"meta":3747,"style":3747},"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",[3521,34878,34879,34895,34901,34907,34914,34921,34927,34934,34944,34948,34964,34981,34985,34999,35009,35019,35024,35035,35046,35051,35062,35066,35070,35074,35079,35084,35088,35099,35105,35111,35117,35123,35129,35135,35142,35151,35177,35193,35197,35203,35244,35272,35280,35288,35294,35304,35314,35318,35342,35354,35366,35370,35376,35380,35387,35404,35414,35424,35428,35441,35454,35471,35484,35488,35494,35500,35511,35515,35524,35532,35542,35570,35578,35586,35599,35627,35636,35644,35652,35660,35664,35668,35672,35688,35694,35702,35706,35712,35720,35724,35730,35738,35746,35754,35762,35766,35773,35781,35789,35793],{"__ignoreMap":3747},[3751,34880,34881,34883,34885,34887,34889,34891,34893],{"class":3753,"line":3754},[3751,34882,5173],{"class":3805},[3751,34884,5176],{"class":3761},[3751,34886,19914],{"class":3811},[3751,34888,5181],{"class":3761},[3751,34890,5184],{"class":3805},[3751,34892,11874],{"class":3784},[3751,34894,3867],{"class":3761},[3751,34896,34897,34899],{"class":3753,"line":3802},[3751,34898,5173],{"class":3805},[3751,34900,6493],{"class":3761},[3751,34902,34903,34905],{"class":3753,"line":3870},[3751,34904,11908],{"class":3811},[3751,34906,6146],{"class":3761},[3751,34908,34909,34912],{"class":3753,"line":4471},[3751,34910,34911],{"class":3811},"  TextInput",[3751,34913,6146],{"class":3761},[3751,34915,34916,34919],{"class":3753,"line":4481},[3751,34917,34918],{"class":3811},"  TextInputProps",[3751,34920,6146],{"class":3761},[3751,34922,34923,34925],{"class":3753,"line":4491},[3751,34924,11915],{"class":3811},[3751,34926,6146],{"class":3761},[3751,34928,34929,34932],{"class":3753,"line":4532},[3751,34930,34931],{"class":3811},"  ViewStyle",[3751,34933,6146],{"class":3761},[3751,34935,34936,34938,34940,34942],{"class":3753,"line":4566},[3751,34937,11922],{"class":3761},[3751,34939,5184],{"class":3805},[3751,34941,5205],{"class":3784},[3751,34943,3867],{"class":3761},[3751,34945,34946],{"class":3753,"line":4576},[3751,34947,5213],{"emptyLinePlaceholder":5212},[3751,34949,34950,34952,34954,34956,34958,34960,34962],{"class":3753,"line":4586},[3751,34951,5173],{"class":3805},[3751,34953,5176],{"class":3761},[3751,34955,10882],{"class":3811},[3751,34957,5181],{"class":3761},[3751,34959,5184],{"class":3805},[3751,34961,10889],{"class":3784},[3751,34963,3867],{"class":3761},[3751,34965,34966,34968,34970,34972,34974,34976,34979],{"class":3753,"line":4596},[3751,34967,5173],{"class":3805},[3751,34969,5176],{"class":3761},[3751,34971,12062],{"class":3811},[3751,34973,5181],{"class":3761},[3751,34975,5184],{"class":3805},[3751,34977,34978],{"class":3784}," '.\u002FAppText'",[3751,34980,3867],{"class":3761},[3751,34982,34983],{"class":3753,"line":4602},[3751,34984,5213],{"emptyLinePlaceholder":5212},[3751,34986,34987,34989,34992,34994,34997],{"class":3753,"line":6159},[3751,34988,12042],{"class":3757},[3751,34990,34991],{"class":3829}," TextFieldProps",[3751,34993,5457],{"class":3761},[3751,34995,34996],{"class":3829},"TextInputProps",[3751,34998,33380],{"class":3761},[3751,35000,35001,35003,35005,35007],{"class":3753,"line":6170},[3751,35002,26229],{"class":3811},[3751,35004,4806],{"class":3761},[3751,35006,6057],{"class":3829},[3751,35008,3867],{"class":3761},[3751,35010,35011,35013,35015,35017],{"class":3753,"line":6181},[3751,35012,26285],{"class":3811},[3751,35014,18294],{"class":3761},[3751,35016,6057],{"class":3829},[3751,35018,3867],{"class":3761},[3751,35020,35021],{"class":3753,"line":6187},[3751,35022,35023],{"class":5471},"  \u002F** Допоміжний текст під полем (коли немає error). *\u002F\n",[3751,35025,35026,35029,35031,35033],{"class":3753,"line":6195},[3751,35027,35028],{"class":3811},"  hint",[3751,35030,18294],{"class":3761},[3751,35032,6057],{"class":3829},[3751,35034,3867],{"class":3761},[3751,35036,35037,35040,35042,35044],{"class":3753,"line":6201},[3751,35038,35039],{"class":3811},"  containerStyle",[3751,35041,18294],{"class":3761},[3751,35043,4984],{"class":3829},[3751,35045,3867],{"class":3761},[3751,35047,35048],{"class":3753,"line":6206},[3751,35049,35050],{"class":5471},"  \u002F** Опційний правий слот (іконка, кнопка дати). *\u002F\n",[3751,35052,35053,35056,35058,35060],{"class":3753,"line":6216},[3751,35054,35055],{"class":3811},"  rightSlot",[3751,35057,18294],{"class":3761},[3751,35059,19914],{"class":3829},[3751,35061,3867],{"class":3761},[3751,35063,35064],{"class":3753,"line":6226},[3751,35065,6108],{"class":3761},[3751,35067,35068],{"class":3753,"line":6236},[3751,35069,5213],{"emptyLinePlaceholder":5212},[3751,35071,35072],{"class":3753,"line":6246},[3751,35073,10900],{"class":5471},[3751,35075,35076],{"class":3753,"line":6251},[3751,35077,35078],{"class":5471}," * Поле форми: label + TextInput + помилка\u002Fпідказка.\n",[3751,35080,35081],{"class":3753,"line":6259},[3751,35082,35083],{"class":5471}," * Контрольоване ззовні (value \u002F onChangeText) — зручно з RHF Controller.\n",[3751,35085,35086],{"class":3753,"line":6264},[3751,35087,10915],{"class":5471},[3751,35089,35090,35092,35094,35097],{"class":3753,"line":6269},[3751,35091,4438],{"class":3805},[3751,35093,4444],{"class":3757},[3751,35095,35096],{"class":3777}," TextField",[3751,35098,7915],{"class":3761},[3751,35100,35101,35103],{"class":3753,"line":6279},[3751,35102,26229],{"class":3811},[3751,35104,6146],{"class":3761},[3751,35106,35107,35109],{"class":3753,"line":6289},[3751,35108,26285],{"class":3811},[3751,35110,6146],{"class":3761},[3751,35112,35113,35115],{"class":3753,"line":6299},[3751,35114,35028],{"class":3811},[3751,35116,6146],{"class":3761},[3751,35118,35119,35121],{"class":3753,"line":6309},[3751,35120,35039],{"class":3811},[3751,35122,6146],{"class":3761},[3751,35124,35125,35127],{"class":3753,"line":6314},[3751,35126,35055],{"class":3811},[3751,35128,6146],{"class":3761},[3751,35130,35131,35133],{"class":3753,"line":6322},[3751,35132,33423],{"class":3811},[3751,35134,6146],{"class":3761},[3751,35136,35137,35139],{"class":3753,"line":6327},[3751,35138,33485],{"class":3761},[3751,35140,35141],{"class":3811},"inputProps\n",[3751,35143,35144,35146,35149],{"class":3753,"line":6332},[3751,35145,22244],{"class":3761},[3751,35147,35148],{"class":3829},"TextFieldProps",[3751,35150,8964],{"class":3761},[3751,35152,35153,35155,35157,35159,35161,35163,35165,35167,35169,35171,35173,35175],{"class":3753,"line":6342},[3751,35154,8859],{"class":3757},[3751,35156,5176],{"class":3761},[3751,35158,10934],{"class":3765},[3751,35160,3640],{"class":3761},[3751,35162,12236],{"class":3765},[3751,35164,3640],{"class":3761},[3751,35166,22266],{"class":3765},[3751,35168,3640],{"class":3761},[3751,35170,32357],{"class":3765},[3751,35172,8866],{"class":3761},[3751,35174,10882],{"class":3777},[3751,35176,5462],{"class":3761},[3751,35178,35179,35181,35183,35185,35187,35189,35191],{"class":3753,"line":6352},[3751,35180,8859],{"class":3757},[3751,35182,26492],{"class":3765},[3751,35184,5457],{"class":3761},[3751,35186,25366],{"class":3777},[3751,35188,3853],{"class":3761},[3751,35190,26501],{"class":3811},[3751,35192,3799],{"class":3761},[3751,35194,35195],{"class":3753,"line":6362},[3751,35196,5213],{"emptyLinePlaceholder":5212},[3751,35198,35199,35201],{"class":3753,"line":6372},[3751,35200,4455],{"class":3805},[3751,35202,4458],{"class":3761},[3751,35204,35205,35207,35209,35211,35213,35215,35217,35219,35221,35223,35225,35227,35229,35231,35233,35235,35238,35240,35242],{"class":3753,"line":6377},[3751,35206,4463],{"class":3825},[3751,35208,7319],{"class":3829},[3751,35210,5301],{"class":3833},[3751,35212,3837],{"class":3761},[3751,35214,3840],{"class":3757},[3751,35216,7436],{"class":3843},[3751,35218,5308],{"class":3811},[3751,35220,3601],{"class":3843},[3751,35222,28546],{"class":3811},[3751,35224,13756],{"class":3843},[3751,35226,8630],{"class":3811},[3751,35228,12688],{"class":3811},[3751,35230,3601],{"class":3843},[3751,35232,13443],{"class":3811},[3751,35234,34783],{"class":3843},[3751,35236,35237],{"class":3811},"containerStyle",[3751,35239,7442],{"class":3843},[3751,35241,3861],{"class":3757},[3751,35243,4468],{"class":3825},[3751,35245,35246,35248,35250,35252,35254,35256,35258,35260,35262,35264,35266,35268,35270],{"class":3753,"line":6385},[3751,35247,4474],{"class":3825},[3751,35249,12062],{"class":3829},[3751,35251,13190],{"class":3833},[3751,35253,3837],{"class":3761},[3751,35255,13517],{"class":3784},[3751,35257,5301],{"class":3833},[3751,35259,3837],{"class":3761},[3751,35261,3840],{"class":3757},[3751,35263,5308],{"class":3811},[3751,35265,3601],{"class":3843},[3751,35267,12107],{"class":3811},[3751,35269,3861],{"class":3757},[3751,35271,4468],{"class":3825},[3751,35273,35274,35276,35278],{"class":3753,"line":6390},[3751,35275,23067],{"class":3757},[3751,35277,12107],{"class":3811},[3751,35279,4605],{"class":3757},[3751,35281,35282,35284,35286],{"class":3753,"line":6395},[3751,35283,4579],{"class":3825},[3751,35285,12062],{"class":3829},[3751,35287,4468],{"class":3825},[3751,35289,35290,35292],{"class":3753,"line":6405},[3751,35291,4474],{"class":3825},[3751,35293,13087],{"class":3829},[3751,35295,35296,35298,35300,35302],{"class":3753,"line":6415},[3751,35297,13270],{"class":3833},[3751,35299,3837],{"class":3761},[3751,35301,3840],{"class":3757},[3751,35303,13100],{"class":3843},[3751,35305,35306,35308,35310,35312],{"class":3753,"line":6425},[3751,35307,13376],{"class":3811},[3751,35309,3601],{"class":3843},[3751,35311,28601],{"class":3811},[3751,35313,6146],{"class":3843},[3751,35315,35316],{"class":3753,"line":6435},[3751,35317,13388],{"class":3843},[3751,35319,35320,35322,35324,35326,35328,35330,35332,35334,35336,35338,35340],{"class":3753,"line":6440},[3751,35321,26979],{"class":3811},[3751,35323,26492],{"class":3811},[3751,35325,10982],{"class":3761},[3751,35327,11021],{"class":3811},[3751,35329,3601],{"class":3843},[3751,35331,26990],{"class":3811},[3751,35333,10988],{"class":3761},[3751,35335,11021],{"class":3811},[3751,35337,3601],{"class":3843},[3751,35339,11482],{"class":3811},[3751,35341,6146],{"class":3843},[3751,35343,35344,35346,35348,35350,35352],{"class":3753,"line":6448},[3751,35345,14617],{"class":3811},[3751,35347,11021],{"class":3811},[3751,35349,3601],{"class":3843},[3751,35351,13949],{"class":3811},[3751,35353,6146],{"class":3843},[3751,35355,35356,35358,35360,35362,35364],{"class":3753,"line":6453},[3751,35357,27017],{"class":3811},[3751,35359,23487],{"class":3811},[3751,35361,3601],{"class":3843},[3751,35363,12693],{"class":3811},[3751,35365,6146],{"class":3843},[3751,35367,35368],{"class":3753,"line":6459},[3751,35369,13465],{"class":3843},[3751,35371,35372,35374],{"class":3753,"line":6464},[3751,35373,13471],{"class":3843},[3751,35375,4605],{"class":3757},[3751,35377,35378],{"class":3753,"line":6496},[3751,35379,6723],{"class":3825},[3751,35381,35382,35384],{"class":3753,"line":6531},[3751,35383,4484],{"class":3825},[3751,35385,35386],{"class":3829},"TextInput\n",[3751,35388,35389,35392,35394,35396,35398,35400,35402],{"class":3753,"line":8184},[3751,35390,35391],{"class":3833},"          placeholderTextColor",[3751,35393,3837],{"class":3761},[3751,35395,3840],{"class":3757},[3751,35397,10934],{"class":3811},[3751,35399,3601],{"class":3843},[3751,35401,4980],{"class":3811},[3751,35403,4605],{"class":3757},[3751,35405,35406,35408,35410,35412],{"class":3753,"line":8192},[3751,35407,13597],{"class":3833},[3751,35409,3837],{"class":3761},[3751,35411,3840],{"class":3757},[3751,35413,13100],{"class":3843},[3751,35415,35416,35418,35420,35422],{"class":3753,"line":8202},[3751,35417,16487],{"class":3811},[3751,35419,3601],{"class":3843},[3751,35421,9684],{"class":3811},[3751,35423,6146],{"class":3843},[3751,35425,35426],{"class":3753,"line":8212},[3751,35427,16498],{"class":3843},[3751,35429,35430,35433,35435,35437,35439],{"class":3753,"line":8222},[3751,35431,35432],{"class":3811},"              color:",[3751,35434,11021],{"class":3811},[3751,35436,3601],{"class":3843},[3751,35438,4249],{"class":3811},[3751,35440,6146],{"class":3843},[3751,35442,35443,35446,35448,35450,35452],{"class":3753,"line":8232},[3751,35444,35445],{"class":3811},"              fontSize:",[3751,35447,32001],{"class":3811},[3751,35449,3601],{"class":3843},[3751,35451,12693],{"class":3811},[3751,35453,6146],{"class":3843},[3751,35455,35456,35459,35461,35463,35465,35467,35469],{"class":3753,"line":8237},[3751,35457,35458],{"class":3811},"              paddingVertical:",[3751,35460,12688],{"class":3811},[3751,35462,3601],{"class":3843},[3751,35464,12756],{"class":3811},[3751,35466,17295],{"class":3761},[3751,35468,8034],{"class":7005},[3751,35470,6146],{"class":3843},[3751,35472,35473,35476,35478,35480,35482],{"class":3753,"line":12660},[3751,35474,35475],{"class":3811},"              paddingHorizontal:",[3751,35477,12688],{"class":3811},[3751,35479,3601],{"class":3843},[3751,35481,12693],{"class":3811},[3751,35483,6146],{"class":3843},[3751,35485,35486],{"class":3753,"line":12671},[3751,35487,16555],{"class":3843},[3751,35489,35490,35492],{"class":3753,"line":12713},[3751,35491,27411],{"class":3811},[3751,35493,6146],{"class":3843},[3751,35495,35496,35498],{"class":3753,"line":12735},[3751,35497,16560],{"class":3843},[3751,35499,4605],{"class":3757},[3751,35501,35502,35504,35506,35509],{"class":3753,"line":12765},[3751,35503,13660],{"class":3757},[3751,35505,33788],{"class":3761},[3751,35507,35508],{"class":3811},"inputProps",[3751,35510,4605],{"class":3757},[3751,35512,35513],{"class":3753,"line":12799},[3751,35514,6813],{"class":3825},[3751,35516,35517,35519,35522],{"class":3753,"line":12806},[3751,35518,23067],{"class":3757},[3751,35520,35521],{"class":3811},"rightSlot",[3751,35523,4605],{"class":3757},[3751,35525,35526,35528,35530],{"class":3753,"line":12812},[3751,35527,4579],{"class":3825},[3751,35529,7319],{"class":3829},[3751,35531,4468],{"class":3825},[3751,35533,35534,35536,35538,35540],{"class":3753,"line":12826},[3751,35535,12716],{"class":3757},[3751,35537,27103],{"class":3811},[3751,35539,10982],{"class":3761},[3751,35541,4458],{"class":3843},[3751,35543,35544,35546,35548,35550,35552,35554,35556,35558,35560,35562,35564,35566,35568],{"class":3753,"line":12852},[3751,35545,4484],{"class":3825},[3751,35547,12062],{"class":3829},[3751,35549,13190],{"class":3833},[3751,35551,3837],{"class":3761},[3751,35553,13517],{"class":3784},[3751,35555,7116],{"class":3833},[3751,35557,3837],{"class":3761},[3751,35559,3840],{"class":3757},[3751,35561,10934],{"class":3811},[3751,35563,3601],{"class":3843},[3751,35565,26990],{"class":3811},[3751,35567,3861],{"class":3757},[3751,35569,4468],{"class":3825},[3751,35571,35572,35574,35576],{"class":3753,"line":12872},[3751,35573,13660],{"class":3757},[3751,35575,26501],{"class":3811},[3751,35577,4605],{"class":3757},[3751,35579,35580,35582,35584],{"class":3753,"line":12904},[3751,35581,4569],{"class":3825},[3751,35583,12062],{"class":3829},[3751,35585,4468],{"class":3825},[3751,35587,35588,35590,35592,35595,35597],{"class":3753,"line":12912},[3751,35589,13006],{"class":3843},[3751,35591,5658],{"class":3761},[3751,35593,35594],{"class":3811}," hint",[3751,35596,10982],{"class":3761},[3751,35598,4458],{"class":3843},[3751,35600,35601,35603,35605,35607,35609,35611,35613,35615,35617,35619,35621,35623,35625],{"class":3753,"line":12923},[3751,35602,4484],{"class":3825},[3751,35604,12062],{"class":3829},[3751,35606,13190],{"class":3833},[3751,35608,3837],{"class":3761},[3751,35610,13517],{"class":3784},[3751,35612,7116],{"class":3833},[3751,35614,3837],{"class":3761},[3751,35616,3840],{"class":3757},[3751,35618,10934],{"class":3811},[3751,35620,3601],{"class":3843},[3751,35622,4980],{"class":3811},[3751,35624,3861],{"class":3757},[3751,35626,4468],{"class":3825},[3751,35628,35629,35631,35634],{"class":3753,"line":12966},[3751,35630,13660],{"class":3757},[3751,35632,35633],{"class":3811},"hint",[3751,35635,4605],{"class":3757},[3751,35637,35638,35640,35642],{"class":3753,"line":12988},[3751,35639,4569],{"class":3825},[3751,35641,12062],{"class":3829},[3751,35643,4468],{"class":3825},[3751,35645,35646,35648,35650],{"class":3753,"line":12994},[3751,35647,13006],{"class":3843},[3751,35649,5658],{"class":3761},[3751,35651,13011],{"class":3757},[3751,35653,35654,35656,35658],{"class":3753,"line":13003},[3751,35655,4589],{"class":3825},[3751,35657,7319],{"class":3829},[3751,35659,4468],{"class":3825},[3751,35661,35662],{"class":3753,"line":13014},[3751,35663,4599],{"class":3761},[3751,35665,35666],{"class":3753,"line":13019},[3751,35667,4605],{"class":3761},[3751,35669,35670],{"class":3753,"line":13053},[3751,35671,5213],{"emptyLinePlaceholder":5212},[3751,35673,35674,35676,35678,35680,35682,35684,35686],{"class":3753,"line":13062},[3751,35675,3758],{"class":3757},[3751,35677,7903],{"class":3765},[3751,35679,5457],{"class":3761},[3751,35681,7310],{"class":3811},[3751,35683,3601],{"class":3761},[3751,35685,7912],{"class":3777},[3751,35687,7915],{"class":3761},[3751,35689,35690,35692],{"class":3753,"line":13067},[3751,35691,28935],{"class":3811},[3751,35693,6493],{"class":3761},[3751,35695,35696,35698,35700],{"class":3753,"line":13072},[3751,35697,28942],{"class":3811},[3751,35699,28945],{"class":3784},[3751,35701,6146],{"class":3761},[3751,35703,35704],{"class":3753,"line":13082},[3751,35705,6198],{"class":3761},[3751,35707,35708,35710],{"class":3753,"line":13090},[3751,35709,28075],{"class":3811},[3751,35711,6493],{"class":3761},[3751,35713,35714,35716,35718],{"class":3753,"line":13103},[3751,35715,8215],{"class":3811},[3751,35717,6688],{"class":3784},[3751,35719,6146],{"class":3761},[3751,35721,35722],{"class":3753,"line":13116},[3751,35723,6198],{"class":3761},[3751,35725,35726,35728],{"class":3753,"line":13122},[3751,35727,28956],{"class":3811},[3751,35729,6493],{"class":3761},[3751,35731,35732,35734,35736],{"class":3753,"line":13136},[3751,35733,14812],{"class":3811},[3751,35735,14815],{"class":3784},[3751,35737,6146],{"class":3761},[3751,35739,35740,35742,35744],{"class":3753,"line":13151},[3751,35741,9429],{"class":3811},[3751,35743,9422],{"class":3784},[3751,35745,6146],{"class":3761},[3751,35747,35748,35750,35752],{"class":3753,"line":13165},[3751,35749,8102],{"class":3811},[3751,35751,7928],{"class":7005},[3751,35753,6146],{"class":3761},[3751,35755,35756,35758,35760],{"class":3753,"line":13170},[3751,35757,26058],{"class":3811},[3751,35759,26061],{"class":3784},[3751,35761,6146],{"class":3761},[3751,35763,35764],{"class":3753,"line":13178},[3751,35765,6198],{"class":3761},[3751,35767,35768,35771],{"class":3753,"line":13183},[3751,35769,35770],{"class":3811},"  input:",[3751,35772,6493],{"class":3761},[3751,35774,35775,35777,35779],{"class":3753,"line":13215},[3751,35776,9402],{"class":3811},[3751,35778,7928],{"class":7005},[3751,35780,6146],{"class":3761},[3751,35782,35783,35785,35787],{"class":3753,"line":13221},[3751,35784,26025],{"class":3811},[3751,35786,28111],{"class":7005},[3751,35788,6146],{"class":3761},[3751,35790,35791],{"class":3753,"line":13230},[3751,35792,6198],{"class":3761},[3751,35794,35795],{"class":3753,"line":13238},[3751,35796,8240],{"class":3761},[3742,35798,35801],{"className":6030,"code":35799,"filename":35800,"language":6032,"meta":3747,"style":3747},"export { AppText } from '.\u002FAppText';\nexport { Button } from '.\u002FButton';\nexport { Screen } from '.\u002FScreen';\nexport { TextField } from '.\u002FTextField';\n","src\u002Fshared\u002Fui\u002Findex.ts",[3521,35802,35803,35819,35836,35853],{"__ignoreMap":3747},[3751,35804,35805,35807,35809,35811,35813,35815,35817],{"class":3753,"line":3754},[3751,35806,4438],{"class":3805},[3751,35808,5176],{"class":3761},[3751,35810,12062],{"class":3811},[3751,35812,5181],{"class":3761},[3751,35814,5184],{"class":3805},[3751,35816,34978],{"class":3784},[3751,35818,3867],{"class":3761},[3751,35820,35821,35823,35825,35827,35829,35831,35834],{"class":3753,"line":3802},[3751,35822,4438],{"class":3805},[3751,35824,5176],{"class":3761},[3751,35826,12067],{"class":3811},[3751,35828,5181],{"class":3761},[3751,35830,5184],{"class":3805},[3751,35832,35833],{"class":3784}," '.\u002FButton'",[3751,35835,3867],{"class":3761},[3751,35837,35838,35840,35842,35844,35846,35848,35851],{"class":3753,"line":3870},[3751,35839,4438],{"class":3805},[3751,35841,5176],{"class":3761},[3751,35843,4229],{"class":3811},[3751,35845,5181],{"class":3761},[3751,35847,5184],{"class":3805},[3751,35849,35850],{"class":3784}," '.\u002FScreen'",[3751,35852,3867],{"class":3761},[3751,35854,35855,35857,35859,35861,35863,35865,35868],{"class":3753,"line":4471},[3751,35856,4438],{"class":3805},[3751,35858,5176],{"class":3761},[3751,35860,21970],{"class":3811},[3751,35862,5181],{"class":3761},[3751,35864,5184],{"class":3805},[3751,35866,35867],{"class":3784}," '.\u002FTextField'",[3751,35869,3867],{"class":3761},[4105,35871,35873],{"id":35872},"перевірка","Перевірка",[3586,35875,35876,35886,35889,35896,35906,35909,35914],{},[3549,35877,35878,35879,3640,35881,3640,35883,35885],{},"Внизу три вкладки: ",[3516,35880,9835],{},[3516,35882,9841],{},[3516,35884,9847],{}," (іконки + підписи).",[3549,35887,35888],{},"На «Поїздки» — стрічка, тема, місця в header, sticky «Нова поїздка».",[3549,35890,35891,35892,35895],{},"«Нова поїздка» → екран із ",[3516,35893,35894],{},"системним"," заголовком і назад; форма як раніше.",[3549,35897,35898,35899,35901,35902,35905],{},"Успішне створення → ",[3521,35900,3643],{}," на вкладки, картка ",[3516,35903,35904],{},"зверху"," списку.",[3549,35907,35908],{},"«Місця» — сітка всіх mock-місць.",[3549,35910,35911,35912,9851],{},"«Ще» — текст + тема + ",[3521,35913,3629],{},[3549,35915,35916,35917,35919],{},"Перемикання вкладок ",[3516,35918,3916],{}," губить тему (провайдер на корені).",[4105,35921,35923],{"id":35922},"коміт","Коміт",[3742,35925,35927],{"className":5930,"code":35926,"language":5932,"meta":3747,"style":3747},"cd \u002Fpath\u002Fto\u002Fnomad\ngit add -A\ngit commit -m \"$(cat \u003C\u003C'EOF'\nfeat: file-based navigation structure\n\nMaterial: content\u002F15.react-native\u002F11.expo-router-basics.md\nEOF\n)\"\ngit push\n",[3521,35928,35929,35935,35946,35968,35973,35977,35982,35987,35992],{"__ignoreMap":3747},[3751,35930,35931,35933],{"class":3753,"line":3754},[3751,35932,5956],{"class":3777},[3751,35934,9992],{"class":3784},[3751,35936,35937,35940,35943],{"class":3753,"line":3802},[3751,35938,35939],{"class":3777},"git",[3751,35941,35942],{"class":3784}," add",[3751,35944,35945],{"class":3757}," -A\n",[3751,35947,35948,35950,35953,35956,35959,35962,35965],{"class":3753,"line":3870},[3751,35949,35939],{"class":3777},[3751,35951,35952],{"class":3784}," commit",[3751,35954,35955],{"class":3757}," -m",[3751,35957,35958],{"class":3784}," \"$(",[3751,35960,35961],{"class":3777},"cat",[3751,35963,35964],{"class":3761}," \u003C\u003C",[3751,35966,35967],{"class":3784},"'EOF'\n",[3751,35969,35970],{"class":3753,"line":4471},[3751,35971,35972],{"class":3784},"feat: file-based navigation structure\n",[3751,35974,35975],{"class":3753,"line":4481},[3751,35976,5213],{"emptyLinePlaceholder":5212},[3751,35978,35979],{"class":3753,"line":4491},[3751,35980,35981],{"class":3784},"Material: content\u002F15.react-native\u002F11.expo-router-basics.md\n",[3751,35983,35984],{"class":3753,"line":4532},[3751,35985,35986],{"class":3784},"EOF\n",[3751,35988,35989],{"class":3753,"line":4566},[3751,35990,35991],{"class":3784},")\"\n",[3751,35993,35994,35996],{"class":3753,"line":4576},[3751,35995,35939],{"class":3777},[3751,35997,35998],{"class":3784}," push\n",[4105,36000,36002],{"id":36001},"превю-обмежене","Прев’ю (обмежене)",[3512,36004,36005,36006,36009],{},"У iframe Router немає. Нижче — ",[3516,36007,36008],{},"макет"," трьох «вкладок» на state (ідея UX). Повна поведінка — у Expo Go.",[36011,36012,36017],"react-native-preview",{"device":36013,"filename":36014,"height":36015,"title":36016},"iphone","NomadTabsMock.tsx",720,"Nomad · tabs shell (макет)",[3742,36018,36020],{"className":3744,"code":36019,"language":3746,"meta":3747,"style":3747},"import { useState } from 'react';\nimport { Pressable, StyleSheet, Text, View, useColorScheme } from 'react-native';\n\nconst light = { bg: '#F8FAFC', text: '#0f172a', muted: '#64748b', primary: '#2563eb', border: '#e2e8f0', surface: '#fff', on: '#fff' };\nconst dark = { bg: '#000', text: '#f5f5f7', muted: '#a1a1aa', primary: '#3b82f6', border: '#3a3a3c', surface: '#1c1c1e', on: '#fff' };\n\nexport default function App() {\n  const sys = useColorScheme() === 'dark';\n  const c = sys ? dark : light;\n  const [tab, setTab] = useState\u003C'trips' | 'places' | 'about'>('trips');\n\n  return (\n    \u003CView style={[styles.root, { backgroundColor: c.bg }]}>\n      \u003CView style={{ flex: 1, padding: 16 }}>\n        {tab === 'trips' && (\n          \u003C>\n            \u003CText style={[styles.h, { color: c.text }]}>Поїздки\u003C\u002FText>\n            \u003CText style={{ color: c.muted, marginTop: 8 }}>Стрічка · FlashList · CTA внизу (у репо)\u003C\u002FText>\n            \u003CView style={[styles.card, { backgroundColor: c.surface, borderColor: c.border }]}>\n              \u003CText style={{ color: c.text, fontWeight: '700' }}>Карпати на вихідні\u003C\u002FText>\n              \u003CText style={{ color: c.muted, marginTop: 4 }}>12–14 бер. 2026\u003C\u002FText>\n            \u003C\u002FView>\n          \u003C\u002F>\n        )}\n        {tab === 'places' && (\n          \u003C>\n            \u003CText style={[styles.h, { color: c.text }]}>Місця\u003C\u002FText>\n            \u003CText style={{ color: c.muted, marginTop: 8 }}>Окрема вкладка замість лише горизонтальної стрічки\u003C\u002FText>\n          \u003C\u002F>\n        )}\n        {tab === 'about' && (\n          \u003C>\n            \u003CText style={[styles.h, { color: c.text }]}>Ще\u003C\u002FText>\n            \u003CText style={{ color: c.muted, marginTop: 8 }}>Тема, Link, про застосунок — у репо на Expo Router\u003C\u002FText>\n          \u003C\u002F>\n        )}\n      \u003C\u002FView>\n      \u003CView style={[styles.bar, { borderColor: c.border, backgroundColor: c.bg }]}>\n        {([\n          ['trips', 'Поїздки'],\n          ['places', 'Місця'],\n          ['about', 'Ще'],\n        ] as const).map(([id, label]) => {\n          const on = tab === id;\n          return (\n            \u003CPressable key={id} onPress={() => setTab(id)} style={styles.tab}>\n              \u003CText style={{ color: on ? c.primary : c.muted, fontWeight: '700', fontSize: 12 }}>{label}\u003C\u002FText>\n            \u003C\u002FPressable>\n          );\n        })}\n      \u003C\u002FView>\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  root: { flex: 1 },\n  h: { fontSize: 24, fontWeight: '800' },\n  card: { marginTop: 16, padding: 14, borderRadius: 12, borderWidth: 1 },\n  bar: { flexDirection: 'row', borderTopWidth: 1, paddingVertical: 10 },\n  tab: { flex: 1, alignItems: 'center', paddingVertical: 8 },\n});\n",[3521,36021,36022,36038,36070,36074,36138,36194,36198,36211,36229,36252,36291,36295,36301,36338,36368,36383,36388,36433,36476,36523,36566,36609,36617,36622,36628,36643,36647,36691,36734,36738,36744,36759,36763,36807,36850,36854,36860,36868,36915,36922,36936,36949,36962,36991,37011,37018,37072,37136,37144,37149,37156,37164,37172,37176,37180,37184,37200,37212,37231,37263,37290,37316],{"__ignoreMap":3747},[3751,36023,36024,36026,36028,36030,36032,36034,36036],{"class":3753,"line":3754},[3751,36025,5173],{"class":3805},[3751,36027,5176],{"class":3761},[3751,36029,3778],{"class":3811},[3751,36031,5181],{"class":3761},[3751,36033,5184],{"class":3805},[3751,36035,11874],{"class":3784},[3751,36037,3867],{"class":3761},[3751,36039,36040,36042,36044,36046,36048,36050,36052,36054,36056,36058,36060,36062,36064,36066,36068],{"class":3753,"line":3802},[3751,36041,5173],{"class":3805},[3751,36043,5176],{"class":3761},[3751,36045,5298],{"class":3811},[3751,36047,3640],{"class":3761},[3751,36049,7310],{"class":3811},[3751,36051,3640],{"class":3761},[3751,36053,5198],{"class":3811},[3751,36055,3640],{"class":3761},[3751,36057,7319],{"class":3811},[3751,36059,3640],{"class":3761},[3751,36061,32291],{"class":3811},[3751,36063,5181],{"class":3761},[3751,36065,5184],{"class":3805},[3751,36067,5205],{"class":3784},[3751,36069,3867],{"class":3761},[3751,36071,36072],{"class":3753,"line":3870},[3751,36073,5213],{"emptyLinePlaceholder":5212},[3751,36075,36076,36078,36081,36084,36087,36089,36091,36094,36097,36099,36102,36105,36107,36110,36113,36115,36118,36121,36123,36126,36129,36131,36134,36136],{"class":3753,"line":4471},[3751,36077,3758],{"class":3757},[3751,36079,36080],{"class":3765}," light",[3751,36082,36083],{"class":3761}," = { ",[3751,36085,36086],{"class":3811},"bg:",[3751,36088,6662],{"class":3784},[3751,36090,3640],{"class":3761},[3751,36092,36093],{"class":3811},"text:",[3751,36095,36096],{"class":3784}," '#0f172a'",[3751,36098,3640],{"class":3761},[3751,36100,36101],{"class":3811},"muted:",[3751,36103,36104],{"class":3784}," '#64748b'",[3751,36106,3640],{"class":3761},[3751,36108,36109],{"class":3811},"primary:",[3751,36111,36112],{"class":3784}," '#2563eb'",[3751,36114,3640],{"class":3761},[3751,36116,36117],{"class":3811},"border:",[3751,36119,36120],{"class":3784}," '#e2e8f0'",[3751,36122,3640],{"class":3761},[3751,36124,36125],{"class":3811},"surface:",[3751,36127,36128],{"class":3784}," '#fff'",[3751,36130,3640],{"class":3761},[3751,36132,36133],{"class":3811},"on:",[3751,36135,36128],{"class":3784},[3751,36137,31837],{"class":3761},[3751,36139,36140,36142,36145,36147,36149,36151,36153,36155,36158,36160,36162,36165,36167,36169,36172,36174,36176,36179,36181,36183,36186,36188,36190,36192],{"class":3753,"line":4481},[3751,36141,3758],{"class":3757},[3751,36143,36144],{"class":3765}," dark",[3751,36146,36083],{"class":3761},[3751,36148,36086],{"class":3811},[3751,36150,30445],{"class":3784},[3751,36152,3640],{"class":3761},[3751,36154,36093],{"class":3811},[3751,36156,36157],{"class":3784}," '#f5f5f7'",[3751,36159,3640],{"class":3761},[3751,36161,36101],{"class":3811},[3751,36163,36164],{"class":3784}," '#a1a1aa'",[3751,36166,3640],{"class":3761},[3751,36168,36109],{"class":3811},[3751,36170,36171],{"class":3784}," '#3b82f6'",[3751,36173,3640],{"class":3761},[3751,36175,36117],{"class":3811},[3751,36177,36178],{"class":3784}," '#3a3a3c'",[3751,36180,3640],{"class":3761},[3751,36182,36125],{"class":3811},[3751,36184,36185],{"class":3784}," '#1c1c1e'",[3751,36187,3640],{"class":3761},[3751,36189,36133],{"class":3811},[3751,36191,36128],{"class":3784},[3751,36193,31837],{"class":3761},[3751,36195,36196],{"class":3753,"line":4491},[3751,36197,5213],{"emptyLinePlaceholder":5212},[3751,36199,36200,36202,36204,36206,36209],{"class":3753,"line":4532},[3751,36201,4438],{"class":3805},[3751,36203,4441],{"class":3805},[3751,36205,4444],{"class":3757},[3751,36207,36208],{"class":3777}," App",[3751,36210,4450],{"class":3761},[3751,36212,36213,36215,36218,36220,36222,36225,36227],{"class":3753,"line":4566},[3751,36214,8859],{"class":3757},[3751,36216,36217],{"class":3765}," sys",[3751,36219,5457],{"class":3761},[3751,36221,32291],{"class":3777},[3751,36223,36224],{"class":3761},"() === ",[3751,36226,31780],{"class":3784},[3751,36228,3867],{"class":3761},[3751,36230,36231,36233,36235,36237,36240,36242,36245,36247,36250],{"class":3753,"line":4576},[3751,36232,8859],{"class":3757},[3751,36234,6518],{"class":3765},[3751,36236,5457],{"class":3761},[3751,36238,36239],{"class":3811},"sys",[3751,36241,8933],{"class":3761},[3751,36243,36244],{"class":3811},"dark",[3751,36246,32649],{"class":3761},[3751,36248,36249],{"class":3811},"light",[3751,36251,3867],{"class":3761},[3751,36253,36254,36256,36258,36261,36263,36266,36268,36270,36272,36275,36277,36280,36282,36285,36287,36289],{"class":3753,"line":4586},[3751,36255,8859],{"class":3757},[3751,36257,3762],{"class":3761},[3751,36259,36260],{"class":3765},"tab",[3751,36262,3640],{"class":3761},[3751,36264,36265],{"class":3765},"setTab",[3751,36267,3774],{"class":3761},[3751,36269,3778],{"class":3777},[3751,36271,3781],{"class":3761},[3751,36273,36274],{"class":3784},"'trips'",[3751,36276,3788],{"class":3761},[3751,36278,36279],{"class":3784},"'places'",[3751,36281,3788],{"class":3761},[3751,36283,36284],{"class":3784},"'about'",[3751,36286,3794],{"class":3761},[3751,36288,36274],{"class":3784},[3751,36290,3799],{"class":3761},[3751,36292,36293],{"class":3753,"line":4596},[3751,36294,5213],{"emptyLinePlaceholder":5212},[3751,36296,36297,36299],{"class":3753,"line":4602},[3751,36298,4455],{"class":3805},[3751,36300,4458],{"class":3761},[3751,36302,36303,36305,36307,36309,36311,36313,36315,36317,36319,36321,36323,36325,36327,36329,36332,36334,36336],{"class":3753,"line":6159},[3751,36304,4463],{"class":3825},[3751,36306,7319],{"class":3829},[3751,36308,5301],{"class":3833},[3751,36310,3837],{"class":3761},[3751,36312,3840],{"class":3757},[3751,36314,7436],{"class":3843},[3751,36316,5308],{"class":3811},[3751,36318,3601],{"class":3843},[3751,36320,34770],{"class":3811},[3751,36322,13756],{"class":3843},[3751,36324,6659],{"class":3811},[3751,36326,6518],{"class":3811},[3751,36328,3601],{"class":3843},[3751,36330,36331],{"class":3811},"bg",[3751,36333,13777],{"class":3843},[3751,36335,3861],{"class":3757},[3751,36337,4468],{"class":3825},[3751,36339,36340,36342,36344,36346,36348,36350,36352,36354,36356,36358,36360,36362,36364,36366],{"class":3753,"line":6170},[3751,36341,4474],{"class":3825},[3751,36343,7319],{"class":3829},[3751,36345,5301],{"class":3833},[3751,36347,3837],{"class":3761},[3751,36349,3840],{"class":3757},[3751,36351,4515],{"class":3843},[3751,36353,7925],{"class":3811},[3751,36355,7928],{"class":7005},[3751,36357,3640],{"class":3843},[3751,36359,8059],{"class":3811},[3751,36361,7951],{"class":7005},[3751,36363,4524],{"class":3843},[3751,36365,3861],{"class":3757},[3751,36367,4468],{"class":3825},[3751,36369,36370,36372,36374,36376,36379,36381],{"class":3753,"line":6181},[3751,36371,23067],{"class":3757},[3751,36373,36260],{"class":3811},[3751,36375,10976],{"class":3761},[3751,36377,36378],{"class":3784}," 'trips'",[3751,36380,27190],{"class":3761},[3751,36382,4458],{"class":3843},[3751,36384,36385],{"class":3753,"line":6187},[3751,36386,36387],{"class":3825},"          \u003C>\n",[3751,36389,36390,36392,36394,36396,36398,36400,36402,36404,36406,36409,36411,36413,36415,36417,36419,36421,36423,36425,36427,36429,36431],{"class":3753,"line":6195},[3751,36391,7093],{"class":3825},[3751,36393,5198],{"class":3829},[3751,36395,5301],{"class":3833},[3751,36397,3837],{"class":3761},[3751,36399,3840],{"class":3757},[3751,36401,7436],{"class":3843},[3751,36403,5308],{"class":3811},[3751,36405,3601],{"class":3843},[3751,36407,36408],{"class":3811},"h",[3751,36410,13756],{"class":3843},[3751,36412,6693],{"class":3811},[3751,36414,6518],{"class":3811},[3751,36416,3601],{"class":3843},[3751,36418,4249],{"class":3811},[3751,36420,13777],{"class":3843},[3751,36422,3861],{"class":3757},[3751,36424,5239],{"class":3825},[3751,36426,9835],{"class":3843},[3751,36428,5245],{"class":3825},[3751,36430,5198],{"class":3829},[3751,36432,4468],{"class":3825},[3751,36434,36435,36437,36439,36441,36443,36445,36447,36449,36451,36453,36455,36457,36459,36461,36463,36465,36467,36470,36472,36474],{"class":3753,"line":6201},[3751,36436,7093],{"class":3825},[3751,36438,5198],{"class":3829},[3751,36440,5301],{"class":3833},[3751,36442,3837],{"class":3761},[3751,36444,3840],{"class":3757},[3751,36446,4515],{"class":3843},[3751,36448,6693],{"class":3811},[3751,36450,6518],{"class":3811},[3751,36452,3601],{"class":3843},[3751,36454,7518],{"class":3811},[3751,36456,3640],{"class":3843},[3751,36458,8031],{"class":3811},[3751,36460,7961],{"class":7005},[3751,36462,4524],{"class":3843},[3751,36464,3861],{"class":3757},[3751,36466,5239],{"class":3825},[3751,36468,36469],{"class":3843},"Стрічка · FlashList · CTA внизу (у репо)",[3751,36471,5245],{"class":3825},[3751,36473,5198],{"class":3829},[3751,36475,4468],{"class":3825},[3751,36477,36478,36480,36482,36484,36486,36488,36490,36492,36494,36496,36498,36500,36502,36504,36506,36508,36511,36513,36515,36517,36519,36521],{"class":3753,"line":6206},[3751,36479,7093],{"class":3825},[3751,36481,7319],{"class":3829},[3751,36483,5301],{"class":3833},[3751,36485,3837],{"class":3761},[3751,36487,3840],{"class":3757},[3751,36489,7436],{"class":3843},[3751,36491,5308],{"class":3811},[3751,36493,3601],{"class":3843},[3751,36495,4830],{"class":3811},[3751,36497,13756],{"class":3843},[3751,36499,6659],{"class":3811},[3751,36501,6518],{"class":3811},[3751,36503,3601],{"class":3843},[3751,36505,13949],{"class":3811},[3751,36507,3640],{"class":3843},[3751,36509,36510],{"class":3811},"borderColor:",[3751,36512,6518],{"class":3811},[3751,36514,3601],{"class":3843},[3751,36516,11482],{"class":3811},[3751,36518,13777],{"class":3843},[3751,36520,3861],{"class":3757},[3751,36522,4468],{"class":3825},[3751,36524,36525,36527,36529,36531,36533,36535,36537,36539,36541,36543,36545,36547,36549,36551,36553,36555,36557,36560,36562,36564],{"class":3753,"line":6216},[3751,36526,7740],{"class":3825},[3751,36528,5198],{"class":3829},[3751,36530,5301],{"class":3833},[3751,36532,3837],{"class":3761},[3751,36534,3840],{"class":3757},[3751,36536,4515],{"class":3843},[3751,36538,6693],{"class":3811},[3751,36540,6518],{"class":3811},[3751,36542,3601],{"class":3843},[3751,36544,4249],{"class":3811},[3751,36546,3640],{"class":3843},[3751,36548,6685],{"class":3811},[3751,36550,8148],{"class":3784},[3751,36552,4524],{"class":3843},[3751,36554,3861],{"class":3757},[3751,36556,5239],{"class":3825},[3751,36558,36559],{"class":3843},"Карпати на вихідні",[3751,36561,5245],{"class":3825},[3751,36563,5198],{"class":3829},[3751,36565,4468],{"class":3825},[3751,36567,36568,36570,36572,36574,36576,36578,36580,36582,36584,36586,36588,36590,36592,36594,36596,36598,36600,36603,36605,36607],{"class":3753,"line":6226},[3751,36569,7740],{"class":3825},[3751,36571,5198],{"class":3829},[3751,36573,5301],{"class":3833},[3751,36575,3837],{"class":3761},[3751,36577,3840],{"class":3757},[3751,36579,4515],{"class":3843},[3751,36581,6693],{"class":3811},[3751,36583,6518],{"class":3811},[3751,36585,3601],{"class":3843},[3751,36587,7518],{"class":3811},[3751,36589,3640],{"class":3843},[3751,36591,8031],{"class":3811},[3751,36593,8034],{"class":7005},[3751,36595,4524],{"class":3843},[3751,36597,3861],{"class":3757},[3751,36599,5239],{"class":3825},[3751,36601,36602],{"class":3843},"12–14 бер. 2026",[3751,36604,5245],{"class":3825},[3751,36606,5198],{"class":3829},[3751,36608,4468],{"class":3825},[3751,36610,36611,36613,36615],{"class":3753,"line":6236},[3751,36612,7852],{"class":3825},[3751,36614,7319],{"class":3829},[3751,36616,4468],{"class":3825},[3751,36618,36619],{"class":3753,"line":6246},[3751,36620,36621],{"class":3825},"          \u003C\u002F>\n",[3751,36623,36624,36626],{"class":3753,"line":6251},[3751,36625,7870],{"class":3843},[3751,36627,4605],{"class":3757},[3751,36629,36630,36632,36634,36636,36639,36641],{"class":3753,"line":6259},[3751,36631,23067],{"class":3757},[3751,36633,36260],{"class":3811},[3751,36635,10976],{"class":3761},[3751,36637,36638],{"class":3784}," 'places'",[3751,36640,27190],{"class":3761},[3751,36642,4458],{"class":3843},[3751,36644,36645],{"class":3753,"line":6264},[3751,36646,36387],{"class":3825},[3751,36648,36649,36651,36653,36655,36657,36659,36661,36663,36665,36667,36669,36671,36673,36675,36677,36679,36681,36683,36685,36687,36689],{"class":3753,"line":6269},[3751,36650,7093],{"class":3825},[3751,36652,5198],{"class":3829},[3751,36654,5301],{"class":3833},[3751,36656,3837],{"class":3761},[3751,36658,3840],{"class":3757},[3751,36660,7436],{"class":3843},[3751,36662,5308],{"class":3811},[3751,36664,3601],{"class":3843},[3751,36666,36408],{"class":3811},[3751,36668,13756],{"class":3843},[3751,36670,6693],{"class":3811},[3751,36672,6518],{"class":3811},[3751,36674,3601],{"class":3843},[3751,36676,4249],{"class":3811},[3751,36678,13777],{"class":3843},[3751,36680,3861],{"class":3757},[3751,36682,5239],{"class":3825},[3751,36684,9841],{"class":3843},[3751,36686,5245],{"class":3825},[3751,36688,5198],{"class":3829},[3751,36690,4468],{"class":3825},[3751,36692,36693,36695,36697,36699,36701,36703,36705,36707,36709,36711,36713,36715,36717,36719,36721,36723,36725,36728,36730,36732],{"class":3753,"line":6279},[3751,36694,7093],{"class":3825},[3751,36696,5198],{"class":3829},[3751,36698,5301],{"class":3833},[3751,36700,3837],{"class":3761},[3751,36702,3840],{"class":3757},[3751,36704,4515],{"class":3843},[3751,36706,6693],{"class":3811},[3751,36708,6518],{"class":3811},[3751,36710,3601],{"class":3843},[3751,36712,7518],{"class":3811},[3751,36714,3640],{"class":3843},[3751,36716,8031],{"class":3811},[3751,36718,7961],{"class":7005},[3751,36720,4524],{"class":3843},[3751,36722,3861],{"class":3757},[3751,36724,5239],{"class":3825},[3751,36726,36727],{"class":3843},"Окрема вкладка замість лише горизонтальної стрічки",[3751,36729,5245],{"class":3825},[3751,36731,5198],{"class":3829},[3751,36733,4468],{"class":3825},[3751,36735,36736],{"class":3753,"line":6289},[3751,36737,36621],{"class":3825},[3751,36739,36740,36742],{"class":3753,"line":6299},[3751,36741,7870],{"class":3843},[3751,36743,4605],{"class":3757},[3751,36745,36746,36748,36750,36752,36755,36757],{"class":3753,"line":6309},[3751,36747,23067],{"class":3757},[3751,36749,36260],{"class":3811},[3751,36751,10976],{"class":3761},[3751,36753,36754],{"class":3784}," 'about'",[3751,36756,27190],{"class":3761},[3751,36758,4458],{"class":3843},[3751,36760,36761],{"class":3753,"line":6314},[3751,36762,36387],{"class":3825},[3751,36764,36765,36767,36769,36771,36773,36775,36777,36779,36781,36783,36785,36787,36789,36791,36793,36795,36797,36799,36801,36803,36805],{"class":3753,"line":6322},[3751,36766,7093],{"class":3825},[3751,36768,5198],{"class":3829},[3751,36770,5301],{"class":3833},[3751,36772,3837],{"class":3761},[3751,36774,3840],{"class":3757},[3751,36776,7436],{"class":3843},[3751,36778,5308],{"class":3811},[3751,36780,3601],{"class":3843},[3751,36782,36408],{"class":3811},[3751,36784,13756],{"class":3843},[3751,36786,6693],{"class":3811},[3751,36788,6518],{"class":3811},[3751,36790,3601],{"class":3843},[3751,36792,4249],{"class":3811},[3751,36794,13777],{"class":3843},[3751,36796,3861],{"class":3757},[3751,36798,5239],{"class":3825},[3751,36800,9847],{"class":3843},[3751,36802,5245],{"class":3825},[3751,36804,5198],{"class":3829},[3751,36806,4468],{"class":3825},[3751,36808,36809,36811,36813,36815,36817,36819,36821,36823,36825,36827,36829,36831,36833,36835,36837,36839,36841,36844,36846,36848],{"class":3753,"line":6327},[3751,36810,7093],{"class":3825},[3751,36812,5198],{"class":3829},[3751,36814,5301],{"class":3833},[3751,36816,3837],{"class":3761},[3751,36818,3840],{"class":3757},[3751,36820,4515],{"class":3843},[3751,36822,6693],{"class":3811},[3751,36824,6518],{"class":3811},[3751,36826,3601],{"class":3843},[3751,36828,7518],{"class":3811},[3751,36830,3640],{"class":3843},[3751,36832,8031],{"class":3811},[3751,36834,7961],{"class":7005},[3751,36836,4524],{"class":3843},[3751,36838,3861],{"class":3757},[3751,36840,5239],{"class":3825},[3751,36842,36843],{"class":3843},"Тема, Link, про застосунок — у репо на Expo Router",[3751,36845,5245],{"class":3825},[3751,36847,5198],{"class":3829},[3751,36849,4468],{"class":3825},[3751,36851,36852],{"class":3753,"line":6332},[3751,36853,36621],{"class":3825},[3751,36855,36856,36858],{"class":3753,"line":6342},[3751,36857,7870],{"class":3843},[3751,36859,4605],{"class":3757},[3751,36861,36862,36864,36866],{"class":3753,"line":6352},[3751,36863,4579],{"class":3825},[3751,36865,7319],{"class":3829},[3751,36867,4468],{"class":3825},[3751,36869,36870,36872,36874,36876,36878,36880,36882,36884,36886,36889,36891,36893,36895,36897,36899,36901,36903,36905,36907,36909,36911,36913],{"class":3753,"line":6362},[3751,36871,4474],{"class":3825},[3751,36873,7319],{"class":3829},[3751,36875,5301],{"class":3833},[3751,36877,3837],{"class":3761},[3751,36879,3840],{"class":3757},[3751,36881,7436],{"class":3843},[3751,36883,5308],{"class":3811},[3751,36885,3601],{"class":3843},[3751,36887,36888],{"class":3811},"bar",[3751,36890,13756],{"class":3843},[3751,36892,36510],{"class":3811},[3751,36894,6518],{"class":3811},[3751,36896,3601],{"class":3843},[3751,36898,11482],{"class":3811},[3751,36900,3640],{"class":3843},[3751,36902,6659],{"class":3811},[3751,36904,6518],{"class":3811},[3751,36906,3601],{"class":3843},[3751,36908,36331],{"class":3811},[3751,36910,13777],{"class":3843},[3751,36912,3861],{"class":3757},[3751,36914,4468],{"class":3825},[3751,36916,36917,36919],{"class":3753,"line":6372},[3751,36918,23067],{"class":3757},[3751,36920,36921],{"class":3843},"([\n",[3751,36923,36924,36927,36929,36931,36934],{"class":3753,"line":6377},[3751,36925,36926],{"class":3843},"          [",[3751,36928,36274],{"class":3784},[3751,36930,3640],{"class":3843},[3751,36932,36933],{"class":3784},"'Поїздки'",[3751,36935,12613],{"class":3843},[3751,36937,36938,36940,36942,36944,36947],{"class":3753,"line":6385},[3751,36939,36926],{"class":3843},[3751,36941,36279],{"class":3784},[3751,36943,3640],{"class":3843},[3751,36945,36946],{"class":3784},"'Місця'",[3751,36948,12613],{"class":3843},[3751,36950,36951,36953,36955,36957,36960],{"class":3753,"line":6390},[3751,36952,36926],{"class":3843},[3751,36954,36284],{"class":3784},[3751,36956,3640],{"class":3843},[3751,36958,36959],{"class":3784},"'Ще'",[3751,36961,12613],{"class":3843},[3751,36963,36964,36967,36969,36971,36973,36975,36978,36980,36982,36984,36987,36989],{"class":3753,"line":6395},[3751,36965,36966],{"class":3843},"        ] ",[3751,36968,18477],{"class":3805},[3751,36970,6119],{"class":3757},[3751,36972,3647],{"class":3843},[3751,36974,13794],{"class":3777},[3751,36976,36977],{"class":3843},"(([",[3751,36979,6476],{"class":3811},[3751,36981,3640],{"class":3843},[3751,36983,12107],{"class":3811},[3751,36985,36986],{"class":3843},"]) ",[3751,36988,3847],{"class":3757},[3751,36990,6493],{"class":3843},[3751,36992,36993,36996,36999,37001,37004,37006,37009],{"class":3753,"line":6405},[3751,36994,36995],{"class":3757},"          const",[3751,36997,36998],{"class":3765}," on",[3751,37000,13816],{"class":3761},[3751,37002,37003],{"class":3811}," tab",[3751,37005,10976],{"class":3761},[3751,37007,37008],{"class":3811}," id",[3751,37010,3867],{"class":3843},[3751,37012,37013,37016],{"class":3753,"line":6415},[3751,37014,37015],{"class":3805},"          return",[3751,37017,4458],{"class":3843},[3751,37019,37020,37022,37024,37027,37029,37031,37033,37035,37037,37039,37041,37043,37045,37048,37050,37052,37054,37056,37058,37060,37062,37064,37066,37068,37070],{"class":3753,"line":6425},[3751,37021,7093],{"class":3825},[3751,37023,5298],{"class":3829},[3751,37025,37026],{"class":3833}," key",[3751,37028,3837],{"class":3761},[3751,37030,3840],{"class":3757},[3751,37032,6476],{"class":3811},[3751,37034,3861],{"class":3757},[3751,37036,12587],{"class":3833},[3751,37038,3837],{"class":3761},[3751,37040,3840],{"class":3757},[3751,37042,3844],{"class":3843},[3751,37044,3847],{"class":3757},[3751,37046,37047],{"class":3777}," setTab",[3751,37049,3853],{"class":3843},[3751,37051,6476],{"class":3811},[3751,37053,3858],{"class":3843},[3751,37055,3861],{"class":3757},[3751,37057,5301],{"class":3833},[3751,37059,3837],{"class":3761},[3751,37061,3840],{"class":3757},[3751,37063,5308],{"class":3811},[3751,37065,3601],{"class":3843},[3751,37067,36260],{"class":3811},[3751,37069,3861],{"class":3757},[3751,37071,4468],{"class":3825},[3751,37073,37074,37076,37078,37080,37082,37084,37086,37088,37090,37092,37094,37096,37098,37100,37102,37104,37106,37108,37110,37112,37114,37116,37118,37120,37122,37124,37126,37128,37130,37132,37134],{"class":3753,"line":6435},[3751,37075,7740],{"class":3825},[3751,37077,5198],{"class":3829},[3751,37079,5301],{"class":3833},[3751,37081,3837],{"class":3761},[3751,37083,3840],{"class":3757},[3751,37085,4515],{"class":3843},[3751,37087,6693],{"class":3811},[3751,37089,36998],{"class":3811},[3751,37091,10982],{"class":3761},[3751,37093,6518],{"class":3811},[3751,37095,3601],{"class":3843},[3751,37097,11055],{"class":3811},[3751,37099,10988],{"class":3761},[3751,37101,6518],{"class":3811},[3751,37103,3601],{"class":3843},[3751,37105,7518],{"class":3811},[3751,37107,3640],{"class":3843},[3751,37109,6685],{"class":3811},[3751,37111,8148],{"class":3784},[3751,37113,3640],{"class":3843},[3751,37115,7002],{"class":3811},[3751,37117,7006],{"class":7005},[3751,37119,4524],{"class":3843},[3751,37121,3861],{"class":3757},[3751,37123,5239],{"class":3825},[3751,37125,3840],{"class":3757},[3751,37127,12107],{"class":3811},[3751,37129,3861],{"class":3757},[3751,37131,5245],{"class":3825},[3751,37133,5198],{"class":3829},[3751,37135,4468],{"class":3825},[3751,37137,37138,37140,37142],{"class":3753,"line":6440},[3751,37139,7852],{"class":3825},[3751,37141,5298],{"class":3829},[3751,37143,4468],{"class":3825},[3751,37145,37146],{"class":3753,"line":6448},[3751,37147,37148],{"class":3843},"          );\n",[3751,37150,37151,37154],{"class":3753,"line":6453},[3751,37152,37153],{"class":3843},"        })",[3751,37155,4605],{"class":3757},[3751,37157,37158,37160,37162],{"class":3753,"line":6459},[3751,37159,4579],{"class":3825},[3751,37161,7319],{"class":3829},[3751,37163,4468],{"class":3825},[3751,37165,37166,37168,37170],{"class":3753,"line":6464},[3751,37167,4589],{"class":3825},[3751,37169,7319],{"class":3829},[3751,37171,4468],{"class":3825},[3751,37173,37174],{"class":3753,"line":6496},[3751,37175,4599],{"class":3761},[3751,37177,37178],{"class":3753,"line":6531},[3751,37179,4605],{"class":3761},[3751,37181,37182],{"class":3753,"line":8184},[3751,37183,5213],{"emptyLinePlaceholder":5212},[3751,37185,37186,37188,37190,37192,37194,37196,37198],{"class":3753,"line":8192},[3751,37187,3758],{"class":3757},[3751,37189,7903],{"class":3765},[3751,37191,5457],{"class":3761},[3751,37193,7310],{"class":3811},[3751,37195,3601],{"class":3761},[3751,37197,7912],{"class":3777},[3751,37199,7915],{"class":3761},[3751,37201,37202,37204,37206,37208,37210],{"class":3753,"line":8202},[3751,37203,34842],{"class":3811},[3751,37205,5176],{"class":3761},[3751,37207,7925],{"class":3811},[3751,37209,7928],{"class":7005},[3751,37211,6665],{"class":3761},[3751,37213,37214,37217,37219,37221,37223,37225,37227,37229],{"class":3753,"line":8212},[3751,37215,37216],{"class":3811},"  h:",[3751,37218,5176],{"class":3761},[3751,37220,7002],{"class":3811},[3751,37222,8006],{"class":7005},[3751,37224,3640],{"class":3761},[3751,37226,6685],{"class":3811},[3751,37228,8013],{"class":3784},[3751,37230,6665],{"class":3761},[3751,37232,37233,37235,37237,37239,37241,37243,37245,37247,37249,37252,37254,37256,37259,37261],{"class":3753,"line":8222},[3751,37234,8076],{"class":3811},[3751,37236,5176],{"class":3761},[3751,37238,8031],{"class":3811},[3751,37240,7951],{"class":7005},[3751,37242,3640],{"class":3761},[3751,37244,8059],{"class":3811},[3751,37246,8123],{"class":7005},[3751,37248,3640],{"class":3761},[3751,37250,37251],{"class":3811},"borderRadius:",[3751,37253,7006],{"class":7005},[3751,37255,3640],{"class":3761},[3751,37257,37258],{"class":3811},"borderWidth:",[3751,37260,7928],{"class":7005},[3751,37262,6665],{"class":3761},[3751,37264,37265,37268,37270,37273,37275,37277,37280,37282,37284,37286,37288],{"class":3753,"line":8232},[3751,37266,37267],{"class":3811},"  bar:",[3751,37269,5176],{"class":3761},[3751,37271,37272],{"class":3811},"flexDirection:",[3751,37274,14815],{"class":3784},[3751,37276,3640],{"class":3761},[3751,37278,37279],{"class":3811},"borderTopWidth:",[3751,37281,7928],{"class":7005},[3751,37283,3640],{"class":3761},[3751,37285,12978],{"class":3811},[3751,37287,7650],{"class":7005},[3751,37289,6665],{"class":3761},[3751,37291,37292,37295,37297,37299,37301,37303,37306,37308,37310,37312,37314],{"class":3753,"line":8237},[3751,37293,37294],{"class":3811},"  tab:",[3751,37296,5176],{"class":3761},[3751,37298,7925],{"class":3811},[3751,37300,7928],{"class":7005},[3751,37302,3640],{"class":3761},[3751,37304,37305],{"class":3811},"alignItems:",[3751,37307,9422],{"class":3784},[3751,37309,3640],{"class":3761},[3751,37311,12978],{"class":3811},[3751,37313,7961],{"class":7005},[3751,37315,6665],{"class":3761},[3751,37317,37318],{"class":3753,"line":12660},[3751,37319,8240],{"class":3761},[3725,37321],{},[3507,37323,37325],{"id":37324},"практичні-завдання","Практичні завдання",[4105,37327,37329],{"id":37328},"базовий-рівень","Базовий рівень",[3586,37331,37332,37335,37341],{},[3549,37333,37334],{},"Своїми словами: чим Stack відрізняється від Tabs для користувача.",[3549,37336,37337,37338,37340],{},"Пояснити, чому ",[3521,37339,3657],{}," не потрапляє в URL.",[3549,37342,37343,37344,3630,37346,3601],{},"Назвати різницю між ",[3521,37345,3629],{},[3521,37347,3527],{},[4105,37349,37351],{"id":37350},"середній-рівень","Середній рівень",[3586,37353,37354,37357,37364],{},[3549,37355,37356],{},"Міні-проєкт «Довідник міст».",[3549,37358,37359,37360,37363],{},"У Nomad додати четверту вкладку «Чернетки»-заглушку (екран з текстом) і прибрати її з tab bar через ",[3521,37361,37362],{},"href: null"," (див. docs) — або просто три вкладки без заглушки.",[3549,37365,37366,37367,37369,37370,5356,37372,37374],{},"Замінити один ",[3521,37368,3527],{}," на ",[3521,37371,3629],{},[3521,37373,5268],{}," на кнопці «Нова поїздка».",[4105,37376,37378],{"id":37377},"професійний-рівень","Професійний рівень",[3586,37380,37381,37387,37396],{},[3549,37382,37383,37384,37386],{},"Увімкнути typed routes і навмисно зламати ",[3521,37385,5571],{}," — показати помилку TS.",[3549,37388,37389,37390,37392,37393,37395],{},"Порівняти ",[3521,37391,3639],{}," vs ",[3521,37394,3646],{}," після create-trip (що з кнопкою «назад»).",[3549,37397,37398,37399,37401,37402,37405,37406,37408],{},"Нотатка: що станеться, якщо ",[3521,37400,4356],{}," покласти ",[3516,37403,37404],{},"всередину"," лише ",[3521,37407,3657],{}," layout, а не root — і чому форма тоді «не бачить» trips.",[3725,37410],{},[3507,37412,37414],{"id":37413},"часті-запитання","Часті запитання",[37416,37417,37418,37428,37441,37445,37453,37463],"accordion",{},[37419,37420,37423,37424,37427],"accordion-item",{"icon":37421,"label":37422},"i-lucide-circle-help","Expo Router — це заміна React Navigation?","Ні. Expo Router ",[3516,37425,37426],{},"використовує"," React Navigation під капотом і додає file-based шар, інтеграцію з Expo, deep linking. Ви все одно зустрінете терміни Stack\u002FTabs з екосистеми React Navigation.",[37419,37429,37431,37432,37434,37435,37437,37438,37440],{"icon":37421,"label":37430},"Чому екран білий \u002F не знаходить route?","Перевірте шлях файлу, ім’я ",[3521,37433,3660],{},", групу ",[3521,37436,3657],{},", перезапуск Metro. Опечатка в ",[3521,37439,5571],{}," — часта причина.",[37419,37442,37444],{"icon":37421,"label":37443},"header і SafeArea подвоюють відступ","Якщо Stack показує header, не додавайте зайвий top safe padding «як на екрані без header». Або вимкніть header і малюйте свій.",[37419,37446,37448,37449,37452],{"icon":37421,"label":37447},"Стан вкладки скидається","Залежить від unmount\u002Flazy. Для критичного стейту тримайте дані ",[3516,37450,37451],{},"вище"," (Context\u002FRedux), не лише в локальному state екрана, який можуть розмонтувати.",[37419,37454,37456,37457,37460,37461,3601],{"icon":37421,"label":37455},"Чи потрібен React Router з npm?","Для нативного Nomad — ",[3516,37458,37459],{},"ні",". Використовуйте ",[3521,37462,4029],{},[37419,37464,37466],{"icon":37421,"label":37465},"create-trip у URL як вкладка","Не кладіть форму як tab screen без сильної причини. Stack поверх tabs — звичніший патерн «відкрили → заповнили → назад».",[3725,37468],{},[3507,37470,37472],{"id":37471},"що-далі","Що далі",[3512,37474,37475,37476,37479,37480,37485,37486,37489,37490,3601],{},"Базова карта маршрутів готова: ",[3516,37477,37478],{},"tabs + stack",". Далі — ",[3718,37481,37482],{"href":3413},[3516,37483,37484],{},"вкладені навігатори та модалки",": Stack усередині вкладки, ",[3521,37487,37488],{},"presentation: 'modal'",", групи auth, guard на back. Потім — ",[3516,37491,37492],{},"params і deep links",[3512,37494,37495,37499,37500,37499,37504,37499,37508,37499,37512],{},[3718,37496,3568],{"href":37497,"rel":37498},"https:\u002F\u002Fdocs.expo.dev\u002Frouter\u002Fintroduction\u002F",[3722]," · ",[3718,37501,9751],{"href":37502,"rel":37503},"https:\u002F\u002Fdocs.expo.dev\u002Fdevelop\u002Ffile-based-routing\u002F",[3722],[3718,37505,3616],{"href":37506,"rel":37507},"https:\u002F\u002Fdocs.expo.dev\u002Frouter\u002Fadvanced\u002Ftabs\u002F",[3722],[3718,37509,5641],{"href":37510,"rel":37511},"https:\u002F\u002Fdocs.expo.dev\u002Frouter\u002Freference\u002Ftyped-routes\u002F",[3722],[3718,37513,3674],{"href":3720,"rel":37514},[3722],[34715,37516,37517],{},"html pre.shiki code .su1O8, html code.shiki .su1O8{--shiki-light:#0000FF;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .sHH4Y, html code.shiki .sHH4Y{--shiki-light:#000000;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .s-QsJ, html code.shiki .s-QsJ{--shiki-light:#0070C1;--shiki-default:#4FC1FF;--shiki-dark:#4FC1FF}html pre.shiki code .s8Opu, html code.shiki .s8Opu{--shiki-light:#795E26;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}html pre.shiki code .sbdoH, html code.shiki .sbdoH{--shiki-light:#A31515;--shiki-default:#CE9178;--shiki-dark:#CE9178}html pre.shiki code .s8xlr, html code.shiki .s8xlr{--shiki-light:#AF00DB;--shiki-default:#C586C0;--shiki-dark:#C586C0}html pre.shiki code .siwwj, html code.shiki .siwwj{--shiki-light:#001080;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}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 .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 .spJ8K, html code.shiki .spJ8K{--shiki-light:#008000;--shiki-default:#6A9955;--shiki-dark:#6A9955}html pre.shiki code .sLwNe, html code.shiki .sLwNe{--shiki-light:#0451A5;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .sJj4R, html code.shiki .sJj4R{--shiki-light:#098658;--shiki-default:#B5CEA8;--shiki-dark:#B5CEA8}",{"title":3747,"searchDepth":3802,"depth":3802,"links":37519},[37520,37521,37522,37525,37527,37528,37532,37534,37537,37540,37542,37550,37552,37553,37554,37567,37597,37606,37611,37612],{"id":3509,"depth":3802,"text":3510},{"id":3729,"depth":3802,"text":3730},{"id":3951,"depth":3802,"text":3952,"children":37523},[37524],{"id":4107,"depth":3870,"text":4108},{"id":4189,"depth":3802,"text":37526},"Тека app\u002F і src\u002F",{"id":4256,"depth":3802,"text":4257},{"id":4310,"depth":3802,"text":37529,"children":37530},"_layout.tsx — оболонка сегмента",[37531],{"id":4427,"depth":3870,"text":4428},{"id":4627,"depth":3802,"text":37533},"index і імена файлів",{"id":4724,"depth":3802,"text":4725,"children":37535},[37536],{"id":4856,"depth":3870,"text":4857},{"id":4889,"depth":3802,"text":4890,"children":37538},[37539],{"id":5001,"depth":3870,"text":5002},{"id":5020,"depth":3802,"text":37541},"Групи (name) — дужки в імені теки",{"id":5132,"depth":3802,"text":37543,"children":37544},"Link і useRouter",[37545,37547,37549],{"id":5146,"depth":3870,"text":37546},"Link — декларативний перехід",{"id":5363,"depth":3870,"text":37548},"useRouter — імперативний перехід",{"id":5510,"depth":3870,"text":5511},{"id":5568,"depth":3802,"text":37551},"href і шляхи",{"id":5635,"depth":3802,"text":5636},{"id":5710,"depth":3802,"text":5711},{"id":5762,"depth":3802,"text":5763,"children":37555},[37556,37558,37560,37562,37564,37565],{"id":5766,"depth":3870,"text":37557},"1. Усе через useState('screen') у великому App",{"id":5777,"depth":3870,"text":37559},"2. Бізнес-логіка лише в app\u002F",{"id":5789,"depth":3870,"text":37561},"3. Плутати групу (tabs) з сегментом URL",{"id":5804,"depth":3870,"text":37563},"4. push замість back після форми",{"id":5833,"depth":3870,"text":5834},{"id":5843,"depth":3870,"text":37566},"6. Ховати create-trip всередині tabs без потреби",{"id":5859,"depth":3802,"text":5860,"children":37568},[37569,37570,37571,37572,37573,37574,37575,37577,37579,37581,37583,37585,37587,37589,37590,37591,37592,37593,37594,37595,37596],{"id":5863,"depth":3870,"text":5864},{"id":5909,"depth":3870,"text":5910},{"id":5919,"depth":3870,"text":5920},{"id":5926,"depth":3870,"text":5927},{"id":5972,"depth":3870,"text":5973},{"id":5994,"depth":3870,"text":5995},{"id":6012,"depth":3870,"text":37576},"Крок 2. Дані — src\u002Fdata\u002Fcities.ts",{"id":6536,"depth":3870,"text":37578},"Крок 3. Корінь Stack — app\u002F_layout.tsx",{"id":6837,"depth":3870,"text":37580},"Крок 4. Tabs — app\u002F(tabs)\u002F_layout.tsx",{"id":7277,"depth":3870,"text":37582},"Крок 5. Список — app\u002F(tabs)\u002Findex.tsx",{"id":8243,"depth":3870,"text":37584},"Крок 6. «Про нас» — app\u002F(tabs)\u002Fabout.tsx",{"id":8742,"depth":3870,"text":37586},"Крок 7. Деталі — app\u002Fcity\u002F[id].tsx",{"id":9562,"depth":3870,"text":37588},"Крок 8. Прибрати зайве з шаблону tabs",{"id":9623,"depth":3870,"text":9624},{"id":9629,"depth":3870,"text":9630},{"id":9638,"depth":3870,"text":9639},{"id":9645,"depth":3870,"text":9646},{"id":9652,"depth":3870,"text":9653},{"id":9662,"depth":3870,"text":9663},{"id":9673,"depth":3870,"text":9674},{"id":9731,"depth":3870,"text":9732},{"id":9810,"depth":3802,"text":9811,"children":37598},[37599,37600,37601,37602,37603,37604,37605],{"id":9821,"depth":3870,"text":9822},{"id":9861,"depth":3870,"text":9862},{"id":9979,"depth":3870,"text":9980},{"id":10010,"depth":3870,"text":10011},{"id":35872,"depth":3870,"text":35873},{"id":35922,"depth":3870,"text":35923},{"id":36001,"depth":3870,"text":36002},{"id":37324,"depth":3802,"text":37325,"children":37607},[37608,37609,37610],{"id":37328,"depth":3870,"text":37329},{"id":37350,"depth":3870,"text":37351},{"id":37377,"depth":3870,"text":37378},{"id":37413,"depth":3802,"text":37414},{"id":37471,"depth":3802,"text":37472},"File-based routing у Expo — тека app\u002F, layout, Stack і Tabs, Link і useRouter, назад, typed routes; довідник міст і навігаційна оболонка Nomad",null,{},{"title":3408,"description":37613},"2SvIadouVDzguKyA7gyS2hPoIBRyJX5XNij-lci35I0",[37619,37621],{"title":3404,"path":3405,"stem":3406,"description":37620,"children":-1},"Усі основні контроли форми в React Native — TextInput, Pressable, Button, Switch, Checkbox, Slider, Picker, date picker; клавіатура; React Hook Form і Zod; реєстрація на подію та створення поїздки в Nomad",{"title":3412,"path":3413,"stem":3414,"description":37622,"children":-1},"Stack усередині Tabs, presentation modal, групи auth, guard на back — нотатки з модалкою і деталі поїздки в Nomad",1785915329522]