@olea-bps/views 1.0.3 → 1.0.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.
@@ -127,35 +127,44 @@ function TimetableViewCalendar(props) {
127
127
  // Unter verwendung von Luxon wird eine Liste der Monatsnamen generiert, dabei wird die eingestellte Sprache berücksichtigt
128
128
  const months = moment.months();
129
129
 
130
- const handleImportButtonPress = async () => {
130
+ const handleImportButtonPress = () => {
131
131
  setLoading(true);
132
132
  setErrorMessage('');
133
133
  setInfoMessage('');
134
- await saveTimetableCode(
134
+
135
+ saveTimetableCode(
135
136
  // Falls Filter eingestellt sind, werden diese nacheinander auf den Stundenplancode angewendet
136
137
  timetableCodeInputPreSaveFilters.reduce(
137
138
  (currentTimetableCode, preSaveFilter) => preSaveFilter?.(currentTimetableCode) ?? currentTimetableCode,
138
139
  timetableCodeInput
139
140
  )
140
- );
141
- const copyToday = new Date(today);
142
- const startDate = new Date(copyToday.setDate(copyToday.getDate() - 30));
143
- const endDate = new Date(copyToday.setDate(copyToday.getDate() + 151));
144
- await refreshCourses(startDate.toISOString().split('T')[0], endDate.toISOString().split('T')[0])
145
- .then(() => {
146
- setFormVisible(false);
147
- setLoading(false);
148
- })
149
- .catch((error) => {
150
- if (error instanceof TimetableNotFoundError) {
151
- setErrorMessage(t('timetable:codeNotFoundError', { timetableCode: timetableCodeInput }));
152
- setLoading(false);
153
- }
154
- else {
155
- setErrorMessage(t('timetable:importError'));
156
- setLoading(false);
141
+ )
142
+ .then(
143
+ () => {
144
+ const now = DateTime.now();
145
+ const startDate = now.startOf('week');
146
+ const endDate = now.endOf('week');
147
+ return refreshCourses(startDate.toISODate(), endDate.toISODate())
148
+ .then(
149
+ () => {
150
+ setFormVisible(false);
151
+ setLoading(false);
152
+ }
153
+ );
154
+ }
155
+ ).catch(
156
+ (error) => {
157
+ if (error instanceof TimetableNotFoundError) {
158
+ setErrorMessage(t('timetable:codeNotFoundError', { timetableCode: timetableCodeInput }));
159
+ setLoading(false);
160
+ } else {
161
+ console.error(TimetableViewCalendar.name, ':', 'can´t import timetable code', timetableCode, ':', error);
162
+ setErrorMessage(t('timetable:importError'));
163
+ }
157
164
  }
158
- });
165
+ ).finally(
166
+ () => setLoading(false)
167
+ );
159
168
  };
160
169
 
161
170
  useEffect(() => {
@@ -299,18 +308,12 @@ function TimetableViewCalendar(props) {
299
308
  <Ionicons name="add-outline" size={40} color="#000" />
300
309
  </TouchableOpacity>
301
310
  )}
302
-
303
- {
304
- selectedEvent
305
- ? <CourseDetailDialog
311
+ <CourseDetailDialog
306
312
  course={selectedEvent}
307
313
  visible={selectedEvent ? true : false}
308
314
  onClose={unsetSelectedEvent}
309
315
  onDismiss={unsetSelectedEvent}
310
- />
311
- : null
312
- }
313
-
316
+ />
314
317
  </SafeAreaView>
315
318
  );
316
319
  }
@@ -148,7 +148,7 @@ function TimetableViewList(props) {
148
148
  [theme]
149
149
  )
150
150
 
151
- const otherCourses = courses?.filter?.(course => course?.times?.some(courseTime => courseTime?.dayOfWeek === 0));
151
+ const otherCourses = courses?.[undefined] ?? [];
152
152
  const activeTabDate = daysTabViewRoutes[daysTabViewActiveRouteIndex]?.date;
153
153
  const activeTabWeek = activeTabDate.weekNumber;
154
154
 
@@ -165,7 +165,8 @@ function TimetableViewList(props) {
165
165
  }
166
166
  });
167
167
  },
168
- [])
168
+ []
169
+ )
169
170
  )
170
171
 
171
172
  /*
@@ -231,7 +232,7 @@ function TimetableViewList(props) {
231
232
  inactiveColor={themeStyles.tabs.inactiveColor}
232
233
  indicatorStyle={themeStyles.tabIndicator}
233
234
  tabStyle={{ width: 'auto', paddingHorizontal: 20 }}
234
- renderTabBarItem={({ route, navigationState, ...rest}) =>
235
+ renderTabBarItem={({ route, navigationState, ...rest }) =>
235
236
  <TabBarItem
236
237
  {...rest}
237
238
  key={route.key}
@@ -242,7 +243,7 @@ function TimetableViewList(props) {
242
243
  inactiveColor={themeStyles.tabs.inactiveColor}
243
244
  // Die einbindung von moment.js zum Anzeigen des Wochentages sollte langfristig entfernt werden.
244
245
  // Funktioniert die Luxon funktionalität der Wochenanzeige nicht unter iOS datetime.toFormat('ccc')
245
- label={
246
+ label={
246
247
  // Generieren das Tab-Textes
247
248
  ({ route }) => {
248
249
  // Datumsobject aus dem Tab holen
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@olea-bps/views",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Consolidated views for OLEA",
5
5
  "main": "index.js",
6
6
  "repository": {