Commit eb46ed1
Release v0.5.1 (#229)
* (SP: 1) [Security] Enforce origin posture for shop APIs (admin/checkout same-origin; internal/webhooks non-browser) + docs
* (SP: 1) [DB] Align stripe_events.order_id FK CASCADE across schema and migrations
* feat(i18n): localize quiz anti-cheat, header and blog filters (#175)
* feat(Blog): Adding last published post to the blog and category page, recommended posts, Changing styles to one unified format, Bug fixes
* Update leaderboard-style
* Update leaderboard-style
* teat(Blog): fix of hover on author, fix of the line
* (SP: 3) [Observability] Extend structured logging + correlation IDs across all shop routes; purge console.*; enforce explicit error codes
* (SP: 1) [Admin][Security] Add safe product delete (PRODUCT_IN_USE) + mobile cards UI; tighten env/docs, locale normalization, cache-control, and logging semantics
* fix: npm installing
* (SP: 1) [Admin] Align products list in use checks with DB column names (order_items/inventory_moves)
* fix:Update leaderboard: fixed background
* fix: remove email from CurrentUser type to prevent PII exposure
* refactor: align leaderboard UI with brand style (fixed bg, css vars, podium glow)
* (SP: 1) [Frontend] About Us Page. Fixed game, topics, mobile layout
- Fixed mobile tabs in FeaturesSection (icon-only on mobile)
- Fixed game bugs: collision detection, animation, scoring system
- Added multiple obstacle types with level progression
- Improved game sizing for mobile while preserving desktop
- Updated TopicsSection with local SVG icons and hover borders
- Made DynamicGridBackground static grid opt-in via showStaticGrid prop
- Limited SponsorsWall to display max 10 sponsors
- Optimized CommunitySection button layout for mobile
* refactor: update accent color hover effects to Footer
- Update Footer links to use --accent-primary on hover
- Update ThemeToggle icons to use --accent-primary on hover
- Both components adapt colors to light/dark theme
* refactor: improve accessibility
- Add focus-visible styles for keyboard navigation accessibility
* (SP: 1) [Shop] Fix Stripe checkout success redirect (remove duplicate locale /uk/uk) (#186)
* fix:leaderboard update leaderboard-style
* fix:leaderboard update leaderboard-style (#187)
* fix:leaderboard update leaderboard-style on mobile
* fix: resolve CodeRabbit issues and conflicts
* fix:leaderboard update leaderboard-style on mobile (#188)
* fix:leaderboard update leaderboard-style
* fix:leaderboard update leaderboard-style on mobile
* fix: resolve CodeRabbit issues and conflicts
---------
Co-authored-by: Viktor Svertoka <victor.svertoka@gmail.com>
* (SP: 1) [Frontend] Changing hero headline on shop main page (#190)
* (SP: 1) [Shop] Fix checkout redirect 404 by removing duplicate locale in in-app routes and Stripe return_url
* (SP: 1) [Shop] Fix locale cart page and orderid page
* (SP: 1) [Frontend] Changin hero headline on shop main page
* (SP: 1) [Frontend] Fix styles shop home page, buttons (#191)
* fix: move row border to first cell to resolve CodeRabbit issue
* fix: move row border to first cell to resolve CodeRabbit issue new
* Feature/leaderboard style update (#192)
* (SP: 7) [UI] Quiz UI polish: tabs styling, category accents, color scheme (#181, #193, #194) (#195)
* Sanity (#196)
* feat(Blog):fix for clickable link in post details, fix for author details
* feat(Blog):refactoring after removing author modal
* feat(Blog): fix unified date format
* (SP: 3) [AI] Add AI word helper with Groq integration (#200)
* (SP: 3) [AI] Add AI word helper with Groq integration
- Implement Groq API with Llama 3.1 70B model
- Add text selection detection on Q&A page
- Create floating "Explain" button
- Build draggable modal with 3-language support (uk/en/pl)
- Add localStorage caching for instant repeated lookups
- Implement guest CTA (login/signup)
- Add rate limiting (10 requests/min)
- Auth-gated feature (registered users only)
Components:
- SelectableText: Detects text selection
- FloatingExplainButton: Appears on selection
- AIWordHelper: Main modal with explanations
* (SP: 1) i18n: fix Polish locale and set EN as default
* Sanity (#202)
* feat(Blog):fix for clickable link in post details, fix for author details
* feat(Blog):refactoring after removing author modal
* feat(Blog): fix unified date format
* feat(Blog): Fix for click-outside-to-close search, recommended posts are limited to 3
* feat(Blog): selectedAuthorData fixed
* feat(Blog): Added description for /blog/[slug] metadata, Added Schema.org JSON‑LD for Article (BlogPosting) and BreadcrumbList , Added <time datetime> tags where blog dates renders
* Sanity (#203)
* feat(Blog):fix for clickable link in post details, fix for author details
* feat(Blog):refactoring after removing author modal
* feat(Blog): fix unified date format
* feat(Blog): Fix for click-outside-to-close search, recommended posts are limited to 3
* feat(Blog): selectedAuthorData fixed
* feat(Blog): Added description for /blog/[slug] metadata, Added Schema.org JSON‑LD for Article (BlogPosting) and BreadcrumbList , Added <time datetime> tags where blog dates renders
* feat(Blog): fix hover social links, fixed duplication not found search
* (SP: 3) [Frontend] Refactor Header UI and navigation states (#201)
* (SP: 3) [Frontend] Refactor Header UI and navigation states
- Add icon to the language switcher
- Add GitHub icon with stars indicator (frontend only)
- Update logo styles
- Improve touch interaction styles
- Verify correct placement and alignment of all header components
- Make mobile header modal full-screen
- Disable background scroll when mobile menu is open
- Highlight active navigation item
- Update navigation styles:
- Highlight Shop link when user is on Home pages
- Highlight Home link when user is on Shop pages
- Style changes only, no routing or logic changes
* fix CodeRabbit
* update HeaderButton styles
* fix: add accessibility for HeaderButton
* (SP: 3) [Testing] Vitest config + unit + integration tests for quiz module (#204)
* feat(quiz-ui): quiz UI polish - tabs, category accents, color scheme (issues #181, #193, #194)
- Refactor QaTabButton to shared CategoryTabButton component
- Add category accent colors to QuizCard, buttons, progress indicators
- Standardize colors with CSS variables, traffic light timer
- Add DynamicGridBackground to quizzes list page
- Border-only answer feedback, semi-transparent progress styles
* docs: update .gitignore
* fix(quiz): align disqualification threshold with warning banner
Changed violationsCount > 3 to >= 3 in QuizResult points block
to match the warning banner threshold at line 124.
* feat(quiz-testing): add quiz unit tests
- Configure Vitest for quiz module
- Add test factories and setup utilities
- Add quiz-crypto tests (13 tests)
- Add quiz-session tests (12 tests)
* test(quiz): add integration tests for verify-answer API and useAntiCheat hook (#199)
- verify-answer.test.ts: 8 tests for API endpoint
- Correct/wrong answer verification
- Validation errors (missing fields, tampered data)
- Security: rejects modified encrypted answers
- quiz-anticheat.test.ts: 10 tests for useAntiCheat hook
- Detects copy, paste, context-menu, tab-switch events
- Respects isActive flag
- Reset and cleanup functionality
Total quiz tests: 52 (9 setup + 25 unit + 18 integration)
* test(quiz): expand test coverage to 90%+ with hooks, API routes, and UI flow
Add 28 new tests covering:
- useQuizSession hook (6 tests)
- useQuizGuards hook (8 tests)
- guest-quiz storage (5 tests)
- guest-result API route (5 tests)
- quiz-slug API route (3 tests)
- QuizContainer UI flow (1 test)
Coverage: 35% -> 90.94% (quiz scope)
Tests: 52 -> 80
* chore: remove coverage-quiz from git, add to .gitignore
* chore: add coverage-quiz to .gitignore, fix quiz guards test
* fix(leaderboard): improve table mobile
* fix(leaderboard): correct malformed shadow class syntax for avatar glow
* Feature/leaderboard style update (#206)
* fix:leaderboard update leaderboard-style
* fix:leaderboard update leaderboard-style on mobile
* fix: resolve CodeRabbit issues and conflicts
* fix: move row border to first cell to resolve CodeRabbit issue
* fix: move row border to first cell to resolve CodeRabbit issue new
* fix(leaderboard): improve table mobile
* fix(leaderboard): correct malformed shadow class syntax for avatar glow
* test(q&a): add comprehensive qa tests and coverage setup (#208)
* test(q&a): add comprehensive qa tests and coverage setup
* test(q&a): align mocks and reset in qa tests
* (SP: 1) [Frontend] Remove Contacts References (#211)
* test(q&a): add comprehensive qa tests and coverage setup
* test(q&a): align mocks and reset in qa tests
* chore(nav): remove contacts page references
* Sanity (#209)
* feat(Blog):fix for clickable link in post details, fix for author details
* feat(Blog):refactoring after removing author modal
* feat(Blog): fix unified date format
* feat(Blog): Fix for click-outside-to-close search, recommended posts are limited to 3
* feat(Blog): selectedAuthorData fixed
* feat(Blog): Added description for /blog/[slug] metadata, Added Schema.org JSON‑LD for Article (BlogPosting) and BreadcrumbList , Added <time datetime> tags where blog dates renders
* feat(Blog): fix hover social links, fixed duplication not found search
* feat(Blog): Added: breadcrumbs to the post details page and updated the BreadcrumbList, logo to the cocial links in User info, Fixed: main container alignment, category navigation in breadcrumbs
* feat(Blog): Added: breadcrumbs to the post details page and updated the BreadcrumbList, logo to the cocial links in User info, Fixed: main container alignment, category navigation in breadcrumbs
* feat(Blog): Added scroll on the main blog page on filtering by author, fied breadcrumbs category translaion, added category to the recommended cards, fixed search for localisations
* feat(Blog): Changed image size on the post details page
* chore(release): update changelog for v0.5.0
* chore(release): v0.5.0
* [Refactor] Code Quality Improvements: Accessibility, Mobile Support, … (#213)
* fix(leaderboard): adjust podium heights for better visibility on desktop
* Feature/leaderboard style update (#214)
* fix(leaderboard): fix layout centering
* feat(Blog) (#216)
* feat(Blog) (#218)
* feat(Blog):fix for clickable link in post details, fix for author details
* feat(Blog):refactoring after removing author modal
* feat(Blog): fix unified date format
* feat(Blog): Fix for click-outside-to-close search, recommended posts are limited to 3
* feat(Blog): selectedAuthorData fixed
* feat(Blog): Added description for /blog/[slug] metadata, Added Schema.org JSON‑LD for Article (BlogPosting) and BreadcrumbList , Added <time datetime> tags where blog dates renders
* feat(Blog): fix hover social links, fixed duplication not found search
* feat(Blog): Added: breadcrumbs to the post details page and updated the BreadcrumbList, logo to the cocial links in User info, Fixed: main container alignment, category navigation in breadcrumbs
* feat(Blog): Added: breadcrumbs to the post details page and updated the BreadcrumbList, logo to the cocial links in User info, Fixed: main container alignment, category navigation in breadcrumbs
* feat(Blog): Added scroll on the main blog page on filtering by author, fied breadcrumbs category translaion, added category to the recommended cards, fixed search for localisations
* feat(Blog): Changed image size on the post details page
* feat(Blog): added tests
* feat(Blog): fix for big post on the post page, added tests
* feat(Blog): resolving comments
* feat(Blog): fixed hover for social links icins - dark theme
* (SP: 1) feat(i18n): translate 404 error page (#217)
- Add 404 translations (uk/en/pl)
- Implement [Global/Local/Combined] strategy
- Add helpful navigation links
* (SP: 2) [Frontend] Refactor Home HeroSection and Footer stylestor/home (#221)
* (SP:1) fix: 404 page layout (#219)
- 404 translations (uk/en/pl)
- Implement Global strategy
* feat(Blog) (#222)
* feat(Blog):fix for clickable link in post details, fix for author details
* feat(Blog):refactoring after removing author modal
* feat(Blog): fix unified date format
* feat(Blog): Fix for click-outside-to-close search, recommended posts are limited to 3
* feat(Blog): selectedAuthorData fixed
* feat(Blog): Added description for /blog/[slug] metadata, Added Schema.org JSON‑LD for Article (BlogPosting) and BreadcrumbList , Added <time datetime> tags where blog dates renders
* feat(Blog): fix hover social links, fixed duplication not found search
* feat(Blog): Added: breadcrumbs to the post details page and updated the BreadcrumbList, logo to the cocial links in User info, Fixed: main container alignment, category navigation in breadcrumbs
* feat(Blog): Added: breadcrumbs to the post details page and updated the BreadcrumbList, logo to the cocial links in User info, Fixed: main container alignment, category navigation in breadcrumbs
* feat(Blog): Added scroll on the main blog page on filtering by author, fied breadcrumbs category translaion, added category to the recommended cards, fixed search for localisations
* feat(Blog): Changed image size on the post details page
* feat(Blog): added tests
* feat(Blog): fix for big post on the post page, added tests
* feat(Blog): resolving comments
* feat(Blog): fixed hover for social links icins - dark theme
* feat(Blog): bringing the style on the blog page to a single site style
* feat(blog): aligning syles
* feat(blog): resolving comment from CodeRabbit
* feat(blog):fix comment for deployment
* Update AI model from 'llama-3.3-70b-versatile' to 'llama3-70b-8192' (#223)
* (SP 2) [Frontend] Update Features section content and improve mobile UX (#224)
* (SP 2) [Frontend] Update Features section content and improve mobile UX
- Features Section: Refined feature content and visuals.
- Mobile UX: Improved responsive layout and scaling for feature cards and interactive elements.
- Visual Enhancements: Added dynamic particle background effects to the Pricing section.
* fix(review): address accessibility, security, and performance feedback
* fix(review): resolve accessibility and hydration issues
* fix(perf): implement frame-rate independent animations
* fix(review): address accessibility, security, and performance feedback
* fix(review): enable SSR for features section and support HiDPI canvas
* fix(review): correct HiDPI logic for particle canvas measurements
* (SP:3) feat(i18n): add UA and PL translations for shop/admin pages
Add comprehensive i18n support for shop and admin sections in 3 languages (en, uk,
pl).
Translation coverage:
- Shop pages: main page, products, cart, checkout, orders
- Admin pages: dashboard, products management, orders management
- Navigation: header, mobile menu, category links
- Product components: cards, filters, sort, badges (NEW/SALE)
- Category names: Apparel, Lifestyle, Collectibles
- All UI buttons, labels, and actions
Key changes:
- Added ~250+ translation keys to messages/en.json, messages/uk.json,
messages/pl.json
- Updated 20+ components to use useTranslations() and getTranslations()
- Implemented color translation in cart and product detail pages
- Translated hero message
- Added badge translations
* fix(i18n): correct translation keys and localization in shop pages
- Replace confusing error.order with success.orderLabel in checkout success page
heading
- Localize boolean stockRestored display (yes/no instead of true/false) in order
details
- Fix active state detection for shop category links in mobile menu using search
params
- Add missing translation keys (orderLabel, yes, no) to all locales (en, uk, pl)
* fix(netlify): resolve AI API crash and 404 locale/theme issues
AI fixes:
- Extract getClientIp to separate file (avoid db import crash)
- Add missing zod dependency to package.json
404 page fixes:
- Use NEXT_LOCALE cookie for locale detection on Netlify
- Add theme detection script in root layout
- Update styling with hero background and gradient text
* Update frontend/app/not-found.tsx
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* (SP:3) feat(i18n): translate about page and auth form validation messages
- Add about page translations (EN, UK, PL)
- Add auth.fields.validation translations for form errors
* fix(api): resolve Netlify 503 errors and harden AI explain endpoint
- Use dynamic import for groq-sdk (Netlify compatibility) - Bypass rate limiting for unknown IPs (serverless safety)
- Safe JSON parsing with request.text() + empty body check
- Fix ReferenceError: remove undefined errorMessage variable
- Remove sensitive debug info from client responses
- Add i18n keys: pricing.heading, sponsors.ctaAriaLabel
* feat(api): add GET health check endpoint for ai-explain
* chore(release): v0.5.1
---------
Co-authored-by: liudmylasovetovs <milkaegik@gmail.com>
Co-authored-by: Tetiana Zorii <131365289+TiZorii@users.noreply.github.com>
Co-authored-by: Anna <komrakova.anna@gmail.com>
Co-authored-by: AlinaRyabova <alinavr7@gmail.com>
Co-authored-by: Yevhenii Datsenko <yevheniydatsenko@gmail.com>
Co-authored-by: YNazymko12 <yulychka12@gmail.com>
Co-authored-by: liudmylasovetovs <127711697+liudmylasovetovs@users.noreply.github.com>
Co-authored-by: AlinaRyabova <115992255+AlinaRyabova@users.noreply.github.com>
Co-authored-by: Lesia Soloviova <106915140+LesiaUKR@users.noreply.github.com>
Co-authored-by: Yuliia Nazymko <122815071+YNazymko12@users.noreply.github.com>
Co-authored-by: Yevhenii Datsenko <134847096+yevheniidatsenko@users.noreply.github.com>
Co-authored-by: tetiana zorii <tanyusha.zoriy@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>1 parent a1562c4 commit eb46ed1
93 files changed
Lines changed: 5213 additions & 1519 deletions
File tree
- frontend
- app
- [locale]
- about
- blog
- [slug]
- category/[category]
- shop
- admin
- orders
- [id]
- products
- cart
- checkout
- error
- payment/[orderId]
- success
- orders
- [id]
- products
- [slug]
- api/ai/explain
- components
- about
- auth/fields
- blog
- header
- home
- leaderboard
- q&a
- shop
- admin
- header
- tests/blog
- ui
- lib
- ai
- home
- security
- shop
- tests/blog
- messages
- studio
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
209 | 209 | | |
210 | 210 | | |
211 | 211 | | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
1 | 2 | | |
2 | 3 | | |
3 | 4 | | |
| |||
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
10 | 19 | | |
11 | 20 | | |
12 | 21 | | |
| |||
17 | 26 | | |
18 | 27 | | |
19 | 28 | | |
20 | | - | |
| 29 | + | |
21 | 30 | | |
22 | 31 | | |
23 | 32 | | |
24 | 33 | | |
25 | 34 | | |
26 | | - | |
| 35 | + | |
27 | 36 | | |
28 | 37 | | |
29 | 38 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
| |||
289 | 290 | | |
290 | 291 | | |
291 | 292 | | |
292 | | - | |
| 293 | + | |
| 294 | + | |
293 | 295 | | |
294 | 296 | | |
295 | 297 | | |
| |||
501 | 503 | | |
502 | 504 | | |
503 | 505 | | |
504 | | - | |
| 506 | + | |
| 507 | + | |
505 | 508 | | |
506 | 509 | | |
507 | 510 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
| 10 | + | |
9 | 11 | | |
10 | 12 | | |
11 | 13 | | |
| |||
85 | 87 | | |
86 | 88 | | |
87 | 89 | | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
153 | 95 | | |
154 | | - | |
155 | | - | |
156 | | - | |
| 96 | + | |
| 97 | + | |
157 | 98 | | |
158 | | - | |
| 99 | + | |
159 | 100 | | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
171 | 173 | | |
172 | 174 | | |
173 | 175 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
| 7 | + | |
6 | 8 | | |
7 | 9 | | |
8 | 10 | | |
| |||
22 | 24 | | |
23 | 25 | | |
24 | 26 | | |
| 27 | + | |
25 | 28 | | |
26 | 29 | | |
| 30 | + | |
27 | 31 | | |
28 | 32 | | |
29 | 33 | | |
30 | 34 | | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
31 | 39 | | |
32 | 40 | | |
33 | 41 | | |
| |||
77 | 85 | | |
78 | 86 | | |
79 | 87 | | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
91 | 100 | | |
92 | 101 | | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
Lines changed: 4 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| 14 | + | |
13 | 15 | | |
14 | 16 | | |
15 | 17 | | |
| |||
59 | 61 | | |
60 | 62 | | |
61 | 63 | | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
| 64 | + | |
67 | 65 | | |
68 | | - | |
| 66 | + | |
69 | 67 | | |
70 | 68 | | |
71 | 69 | | |
| |||
0 commit comments