@innspel/react-native 0.9.3 → 0.9.5

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/README.md CHANGED
@@ -112,6 +112,23 @@ Innspels. Innsenderen skal se hvem som svarte.
112
112
  `fontFamily` finnes ikke som token: systemfonten er standard i React Native, og
113
113
  å sette den ville brutt med appen rundt.
114
114
 
115
+ ## Når et innspill er sendt
116
+
117
+ `onSubmitted` kalles etter en innsending — også når nettet var borte og innspillet
118
+ ligger i køen, for innsenderen trykket Send. Du får `type`, `queued`, og `id` når
119
+ saken finnes hos tjeneren. Ingen identitet: saksnummeret er sakens, og det
120
+ innsenderen alt ser i kvitteringen. «Ja, jeg også» på en kjent feil gir ikke kallet.
121
+
122
+ ```tsx
123
+ <InnspelProvider
124
+ client={innspel}
125
+ onSubmitted={({ queued }) => {
126
+ hentTellingPaaNytt(); // «Mine innspill · N» i din egen meny
127
+ if (!queued) spørOmVarslerHvisFørste(); // riktig øyeblikk — ikke ved oppstart
128
+ }}
129
+ >
130
+ ```
131
+
115
132
  ## Hva innsenderen møter
116
133
 
117
134
  | Skjerm | Hva |
package/dist/index.cjs CHANGED
@@ -836,9 +836,7 @@ var tekst = {
836
836
  fjernLenke: "Fjern lenken til den kjente feilen",
837
837
  // 2f — skjermbilde (K4, DD-39, DD-40, DD-42)
838
838
  leggVedSkjermbilde: "Legg ved skjermbilde",
839
- leggVedHint: "Bildet tas f\xF8rst n\xE5r du trykker \u2014 du ser det f\xF8r det sendes.",
840
839
  velgBilde: "Velg bilde",
841
- velgBildeHint: "Fra bildene dine. Du ser det og kan maskere det f\xF8r det sendes.",
842
840
  skjermbildeUnderGalleri: "Bildet er fra galleriet. Appen maskerer ingenting i det for deg \u2014 mal over det som ikke skal med.",
843
841
  bildeFeilet: "kunne ikke hente bildet. Du kan sende uten.",
844
842
  skjermbildeTittel: "Se over bildet",
@@ -1193,31 +1191,35 @@ function Felt({
1193
1191
  )
1194
1192
  ]
1195
1193
  }
1196
- ) : onSkjermbilde || onVelgBilde ? /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_native3.View, { style: { gap: tema.space.sm }, children: [
1197
- onSkjermbilde ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
1198
- Btn,
1199
- {
1200
- variant: "secondary",
1201
- testID: "legg-ved-skjermbilde",
1202
- ikon: "camera-outline",
1203
- label: tekst.leggVedSkjermbilde,
1204
- hint: tekst.leggVedHint,
1205
- onPress: onSkjermbilde
1206
- }
1207
- ) : null,
1208
- onVelgBilde ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
1209
- Btn,
1210
- {
1211
- variant: "secondary",
1212
- testID: "velg-bilde",
1213
- ikon: "images-outline",
1214
- label: tekst.velgBilde,
1215
- hint: tekst.velgBildeHint,
1216
- onPress: onVelgBilde
1217
- }
1218
- ) : null,
1219
- bildeNotat ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native3.View, { testID: "bilde-notat", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Hint, { children: bildeNotat }) }) : null
1220
- ] }) : null,
1194
+ ) : onSkjermbilde || onVelgBilde ? (
1195
+ // F7 (brukerreisene 2026-09-15): knappene har ingen egen hjelpetekst. Web-widgeten
1196
+ // har aldri hatt det, og Følget sender sin egen setning som `imageStepNote` — med
1197
+ // pakkens hint i tillegg sto det tre tekster under to knapper. Løftet om at bildet
1198
+ // tas ved trykk og kan maskeres står i selve steget (Skjermbilde), der det gjelder.
1199
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_native3.View, { style: { gap: tema.space.sm }, children: [
1200
+ onSkjermbilde ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
1201
+ Btn,
1202
+ {
1203
+ variant: "secondary",
1204
+ testID: "legg-ved-skjermbilde",
1205
+ ikon: "camera-outline",
1206
+ label: tekst.leggVedSkjermbilde,
1207
+ onPress: onSkjermbilde
1208
+ }
1209
+ ) : null,
1210
+ onVelgBilde ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
1211
+ Btn,
1212
+ {
1213
+ variant: "secondary",
1214
+ testID: "velg-bilde",
1215
+ ikon: "images-outline",
1216
+ label: tekst.velgBilde,
1217
+ onPress: onVelgBilde
1218
+ }
1219
+ ) : null,
1220
+ bildeNotat ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_native3.View, { testID: "bilde-notat", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Hint, { children: bildeNotat }) }) : null
1221
+ ] })
1222
+ ) : null,
1221
1223
  /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_native3.View, { style: { borderTopWidth: tema.hairline, borderTopColor: tema.color.border, paddingTop: tema.space.sm }, children: [
1222
1224
  /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
1223
1225
  import_react_native3.Pressable,
@@ -1917,7 +1919,8 @@ function Widget({
1917
1919
  apneOpsjoner,
1918
1920
  onLukk,
1919
1921
  tenantName,
1920
- imageStepNote
1922
+ imageStepNote,
1923
+ onSubmitted
1921
1924
  }) {
1922
1925
  const tema = useTema();
1923
1926
  const insets = (0, import_react11.useContext)(import_react_native_safe_area_context.SafeAreaInsetsContext) ?? import_react_native_safe_area_context.initialWindowMetrics?.insets ?? { top: 0, bottom: 0, left: 0, right: 0 };
@@ -2133,6 +2136,7 @@ function Widget({
2133
2136
  });
2134
2137
  }
2135
2138
  setSteg("kvittering");
2139
+ onSubmitted?.(res.status === "queued" ? { type: spor, queued: true } : { type: spor, queued: false, id: res.submission.id });
2136
2140
  } catch (e) {
2137
2141
  if (e instanceof import_core2.InnspelQueueFullError) setFeil(e.userMessage);
2138
2142
  else if (e instanceof import_core2.InnspelApiError) setFeil(e.message);
@@ -2140,7 +2144,7 @@ function Widget({
2140
2144
  } finally {
2141
2145
  setSender(false);
2142
2146
  }
2143
- }, [client, spor, verdi, vedlegg, lenketTil, fjernede, apneOpsjoner?.screen]);
2147
+ }, [client, spor, verdi, vedlegg, lenketTil, fjernede, apneOpsjoner?.screen, onSubmitted]);
2144
2148
  const jaOgsa = (0, import_react11.useCallback)(
2145
2149
  async (k) => {
2146
2150
  setSender(true);
@@ -2354,7 +2358,8 @@ function InnspelProvider({
2354
2358
  colorScheme = "dark",
2355
2359
  tenantName,
2356
2360
  screenshot,
2357
- imageStepNote
2361
+ imageStepNote,
2362
+ onSubmitted
2358
2363
  }) {
2359
2364
  const [synlig, setSynlig] = (0, import_react12.useState)(false);
2360
2365
  const [apneOpsjoner, setApneOpsjoner] = (0, import_react12.useState)();
@@ -2389,6 +2394,7 @@ function InnspelProvider({
2389
2394
  ...apneOpsjoner ? { apneOpsjoner } : {},
2390
2395
  ...tenantName ? { tenantName } : {},
2391
2396
  ...imageStepNote ? { imageStepNote } : {},
2397
+ ...onSubmitted ? { onSubmitted } : {},
2392
2398
  onLukk: close
2393
2399
  }
2394
2400
  )