@autobusal/providers 1.12.1 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,25 @@ adheres to [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and
7
7
  > Note: 1.8.0 through 1.11.0 were published without changelog entries. The
8
8
  > gap is left as-is rather than reconstructed after the fact.
9
9
 
10
+ ## [1.14.0] - 2026-08-02
11
+
12
+ ### Changed
13
+
14
+ - **`LabelSettings.telegram`/`.whatsapp` drop `price` and `refundable`.** They
15
+ moved to obtapi's `addons` table; the label manager reads them from the
16
+ label's `addons` map instead (see `@autobusal/admin-label` 1.15.0). The
17
+ public `settings.addons` shape is unchanged, but its contents are now
18
+ filtered by who is asking and through what channel.
19
+
20
+ ## [1.13.0] - 2026-08-01
21
+
22
+ ### Removed
23
+
24
+ - **`CityData.booking_id`.** The only thing it ever fed was the Booking.com
25
+ affiliate banner on the results page, which is gone (see
26
+ `@autobusal/routes-order` 1.12.0), along with the `cities.booking_id`
27
+ column behind it. Type-only change; nothing read the field at runtime.
28
+
10
29
  ## [1.12.0] - 2026-08-01
11
30
 
12
31
  ### Added
@@ -1,10 +1,9 @@
1
1
  import { useNavigate } from 'react-router-dom';
2
- import { RiBus2Line } from 'react-icons/ri';
3
- import { Button, Meta } from '@autobusal/common';
2
+ import { Button, Meta, Road } from '@autobusal/common';
4
3
  import { useSystemTheme } from '@autobusal/hooks';
5
4
  import { getLanguage } from '../Setup/languages';
6
5
  import errors from '@lang/errors';
7
- import { Background, Road, Bus, Container, Logo, Code, Description, Detail } from './styles';
6
+ import { Background, Container, Logo, Code, Description, Detail } from './styles';
8
7
  import { useGetSettings } from '../services';
9
8
 
10
9
  interface Props {
@@ -42,13 +41,11 @@ const Message = ({ type }: Props): JSX.Element => {
42
41
  return (
43
42
  <Meta title={ heading } noIndex={ true }>
44
43
  <Background>
45
- { /* decorative: the road and the bus carry no information, so they
46
- are hidden from assistive technology entirely */ }
47
- <Road aria-hidden="true" />
48
-
49
- <Bus aria-hidden="true">
50
- <RiBus2Line />
51
- </Bus>
44
+ { /* decorative: the road and the bus carry no information, so the
45
+ whole scene is hidden from assistive technology */ }
46
+ <div aria-hidden="true">
47
+ <Road url={ data.url } />
48
+ </div>
52
49
  </Background>
53
50
 
54
51
  <Container className="box">
package/Errors/styles.ts CHANGED
@@ -8,16 +8,6 @@ import styled, { keyframes } from 'styled-components';
8
8
  * sends a bus along it, with the explanation boxed in the middle - so a
9
9
  * dead end still looks like part of the product rather than a crash.
10
10
  */
11
- const drift = keyframes`
12
- from { transform: translateX(0); }
13
- to { transform: translateX(-84px); }
14
- `;
15
-
16
- const travel = keyframes`
17
- from { transform: translateX(-22vw); }
18
- to { transform: translateX(112vw); }
19
- `;
20
-
21
11
  const rise = keyframes`
22
12
  from { opacity: 0; transform: translate(-50%, calc(-50% + 10px)); }
23
13
  to { opacity: 1; transform: translate(-50%, -50%); }
@@ -84,60 +74,3 @@ export const Detail = styled.p`
84
74
  color: ${ props => props.theme.font.faded };
85
75
  `;
86
76
 
87
- /**
88
- * A band of road across the foot of the page. Decorative only, and hidden
89
- * from assistive technology - it carries nothing a screen reader needs.
90
- */
91
- export const Road = styled.div`
92
- position: absolute;
93
- right: 0;
94
- bottom: 0;
95
- left: 0;
96
- height: 150px;
97
- background: linear-gradient(
98
- to top,
99
- ${ props => props.theme.primary.normal }22,
100
- transparent
101
- );
102
-
103
- &::after {
104
- content: '';
105
- position: absolute;
106
- bottom: 46px;
107
- left: 0;
108
- width: 200%;
109
- height: 3px;
110
- border-radius: 3px;
111
- background: repeating-linear-gradient(
112
- to right,
113
- ${ props => props.theme.primary.normal }66 0 42px,
114
- transparent 42px 84px
115
- );
116
- animation: ${ drift } 6s linear infinite;
117
- }
118
-
119
- /* a moving road is exactly the kind of thing that should stop for anyone
120
- who has asked motion to stop */
121
- @media (prefers-reduced-motion: reduce) {
122
- &::after {
123
- animation: none;
124
- }
125
- }
126
- `;
127
-
128
- export const Bus = styled.div`
129
- position: absolute;
130
- bottom: 52px;
131
- left: 0;
132
- display: flex;
133
- align-items: center;
134
- font-size: 44px;
135
- color: ${ props => props.theme.primary.normal };
136
- animation: ${ travel } 16s linear infinite;
137
-
138
- /* parked, not removed - the scene should still make sense standing still */
139
- @media (prefers-reduced-motion: reduce) {
140
- animation: none;
141
- transform: translateX(10vw);
142
- }
143
- `;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autobusal/providers",
3
- "version": "1.12.1",
3
+ "version": "1.14.0",
4
4
  "author": "Ferjolt Ozuni",
5
5
  "type": "module",
6
6
  "main": "index.ts"
@@ -63,7 +63,6 @@ export interface CityData {
63
63
  country?: CountryData
64
64
  link?: string
65
65
  image_url?: string
66
- booking_id?: string
67
66
  stops?: StopData[]
68
67
  front?: number
69
68
  front_order?: number
package/types/settings.ts CHANGED
@@ -190,15 +190,9 @@ export interface LabelSettings {
190
190
  // Admin-managed Telegram bot configuration - bot_username is captured
191
191
  // automatically from a live getMe() check on save, not entered by hand.
192
192
  // 'status': same disabled/dedicated/main model as whatsapp below and
193
- // Raiffeisen's payment domain toggle. `price` is the checkout addon
194
- // price this label charges, regardless of whose bot actually sends it.
193
+ // Raiffeisen's payment domain toggle.
195
194
  telegram?: {
196
195
  status: 'disabled' | 'dedicated' | 'main'
197
- price: number
198
- // Edited: Ferjolt Ozuni - Date: 2026-07-31
199
- // whether this label gives the addon fee back on cancellation;
200
- // snapshotted onto each purchase, so it only affects future orders
201
- refundable?: boolean
202
196
  bot_token?: string
203
197
  bot_username?: string
204
198
  }
@@ -209,11 +203,6 @@ export interface LabelSettings {
209
203
  // entered by hand.
210
204
  whatsapp?: {
211
205
  status: 'disabled' | 'dedicated' | 'main'
212
- price: number
213
- // Edited: Ferjolt Ozuni - Date: 2026-07-31
214
- // whether this label gives the addon fee back on cancellation;
215
- // snapshotted onto each purchase, so it only affects future orders
216
- refundable?: boolean
217
206
  phone_number_id?: string
218
207
  access_token?: string
219
208
  template_name?: string