@autobusal/operator-routes 1.10.2 → 1.10.4

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.
@@ -99,7 +99,16 @@ export const Chosen = styled.div`
99
99
  export const Similar = styled.div`
100
100
  margin-top: 15px;
101
101
  padding: 12px 14px;
102
- border: 1px solid ${ props => props.theme.font.warning ?? '#e0a800' };
102
+ /*
103
+ * Claude - 2026-08-30: the hardcoded '#e0a800' fallback that stood here was
104
+ * a workaround for a token nothing defined - theme.font.warning was styled
105
+ * with in four places and present in no palette, and a missing token
106
+ * silently drops the whole declaration rather than failing. It exists now
107
+ * (obtapi's default-settings.json, floored onto every label by
108
+ * Labels\ThemeColors), so this shows the brand's own amber instead of one
109
+ * hardcoded here.
110
+ */
111
+ border: 1px solid ${ props => props.theme.font.warning };
103
112
  border-radius: 4px;
104
113
 
105
114
  p {
@@ -76,8 +76,27 @@ const Group = ({ id, type, group, name, t, onReload }: Props): JSX.Element => {
76
76
  success(t('prices_manage.messages.saved_group', { city: city.name, ns: 'common' }));
77
77
 
78
78
  // the values just written are the new baseline, so the group goes
79
- // clean without a refetch
79
+ // clean immediately rather than waiting for the round trip below
80
80
  reset(data);
81
+
82
+ /*
83
+ * Claude - 2026-08-30: AND THE CACHE HAS TO FOLLOW, or the next
84
+ * refetch is a no-op.
85
+ *
86
+ * Resetting the form alone left react-query holding the fares from
87
+ * page load. A later copy writes on the server and refetches - and
88
+ * if what comes back happens to equal that stale cache, structural
89
+ * sharing hands back the SAME object reference, the memo does not
90
+ * recompute, the effect above never fires, and the screen keeps
91
+ * showing the pre-copy fares while the database holds the copied
92
+ * ones. Pressing Update then writes the stale figures back over the
93
+ * copy.
94
+ *
95
+ * Measured, not theorised: copied Tirana's first fare over a
96
+ * destination saved at 99 and watched the row stay at 99 with the
97
+ * group marked clean, while the table said 50.
98
+ */
99
+ onReload();
81
100
  }
82
101
  });
83
102
  };
@@ -75,7 +75,7 @@ export const Tools = styled.div`
75
75
  */
76
76
  export const Dirty = styled.span`
77
77
  font-size: ${ props => props.theme.size.s };
78
- color: ${ props => props.theme.font.info };
78
+ color: ${ props => props.theme.font.warning };
79
79
  `;
80
80
 
81
81
  export const Copy = styled.button`
@@ -234,7 +234,7 @@ export const Changed = styled.span`
234
234
  height: 7px;
235
235
 
236
236
  border-radius: 50%;
237
- background: ${ props => props.theme.font.info };
237
+ background: ${ props => props.theme.font.warning };
238
238
  `;
239
239
 
240
240
  export const Small = styled.span`
package/Pricing/styles.ts CHANGED
@@ -85,7 +85,9 @@ export const Text = styled.span`
85
85
  export const Percent = styled.strong<{ $up: boolean }>`
86
86
  flex: 0 0 auto;
87
87
  font-size: ${ props => props.theme.size.m };
88
- color: ${ props => (props.$up ? props.theme.font.info : props.theme.font.success) };
88
+ /* amber against the green of a cut - the pairing this always wanted, and
89
+ could not have while font.warning was a token no palette defined */
90
+ color: ${ props => (props.$up ? props.theme.font.warning : props.theme.font.success) };
89
91
  `;
90
92
 
91
93
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autobusal/operator-routes",
3
- "version": "1.10.2",
3
+ "version": "1.10.4",
4
4
  "author": "Ferjolt Ozuni",
5
5
  "type": "module",
6
6
  "main": "index.ts"