Merge pull request #446 from kolplattformen/feat/daySummary
feat: day summary on front page and fixes a lot of issues
This commit is contained in:
commit
d39b559704
|
@ -1,4 +1,4 @@
|
|||
# Öppna Skolplattformen App
|
||||
# Öppna skolplattformen App
|
||||
|
||||
This is the app for Öppna skolplattformen.
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ import {
|
|||
useNotifications,
|
||||
useSchedule,
|
||||
useMenu,
|
||||
useTimetable,
|
||||
} from '@skolplattformen/api-hooks'
|
||||
import { render } from '../../utils/testHelpers'
|
||||
import React from 'react'
|
||||
|
@ -35,6 +36,7 @@ beforeEach(() => {
|
|||
useNews.mockReturnValueOnce({ data: [], status: 'loaded' })
|
||||
useSchedule.mockReturnValueOnce({ data: [], status: 'loaded' })
|
||||
useMenu.mockReturnValueOnce({ data: [], status: 'loaded' })
|
||||
useTimetable.mockReturnValueOnce({ data: [], status: 'loaded' })
|
||||
useNavigation.mockReturnValue({ navigate: jest.fn(), setOptions: jest.fn() })
|
||||
})
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@ import {
|
|||
TouchableWithoutFeedback,
|
||||
View,
|
||||
} from 'react-native'
|
||||
import { TouchableOpacity } from 'react-native-gesture-handler'
|
||||
import { NativeStackNavigationOptions } from 'react-native-screens/native-stack'
|
||||
import { LanguageService } from '../services/languageService'
|
||||
import { Layout as LayoutStyle, Sizing, Typography } from '../styles'
|
||||
|
@ -63,7 +62,8 @@ export const Auth: React.FC<AuthProps> = ({ navigation }) => {
|
|||
<SafeAreaViewContainer>
|
||||
<TouchableWithoutFeedback onPress={Keyboard.dismiss}>
|
||||
<View style={LayoutStyle.flex.full}>
|
||||
<TouchableOpacity
|
||||
<TouchableWithoutFeedback
|
||||
hitSlop={{ top: 20, bottom: 20, left: 20, right: 20 }}
|
||||
onPress={() => navigation.navigate('SetLanguage')}
|
||||
accessibilityHint={translate(
|
||||
'auth.a11y_navigate_to_change_language',
|
||||
|
@ -83,7 +83,7 @@ export const Auth: React.FC<AuthProps> = ({ navigation }) => {
|
|||
/>
|
||||
<Text style={styles.languageText}>{currentLanguageName}</Text>
|
||||
</View>
|
||||
</TouchableOpacity>
|
||||
</TouchableWithoutFeedback>
|
||||
<KeyboardAvoidingView>
|
||||
<View style={styles.content}>
|
||||
<View style={styles.imageWrapper}>
|
||||
|
@ -104,7 +104,7 @@ export const Auth: React.FC<AuthProps> = ({ navigation }) => {
|
|||
adjustsFontSizeToFit
|
||||
numberOfLines={2}
|
||||
>
|
||||
{translate('general.title')}
|
||||
Öppna skolplattformen
|
||||
</Text>
|
||||
<Login />
|
||||
<Text category="c2" style={styles.subtitle}>
|
||||
|
@ -139,7 +139,7 @@ const themeStyles = StyleService.create({
|
|||
...LayoutStyle.flex.full,
|
||||
},
|
||||
header: {
|
||||
width: '60%',
|
||||
width: '100%',
|
||||
marginBottom: Sizing.t5,
|
||||
fontFamily: 'Poppins-Black',
|
||||
fontWeight: '900',
|
||||
|
|
|
@ -2,6 +2,7 @@ import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'
|
|||
import {
|
||||
getFocusedRouteNameFromRoute,
|
||||
RouteProp,
|
||||
useNavigation,
|
||||
useRoute,
|
||||
} from '@react-navigation/native'
|
||||
import { StackNavigationProp } from '@react-navigation/stack'
|
||||
|
@ -10,11 +11,13 @@ import React from 'react'
|
|||
import { StyleProp, TextProps } from 'react-native'
|
||||
import { NativeStackNavigationOptions } from 'react-native-screens/native-stack'
|
||||
import { defaultStackStyling } from '../design/navigationThemes'
|
||||
import { studentName } from '../utils/peopleHelpers'
|
||||
import { translate } from '../utils/translation'
|
||||
import { Calendar } from './calendar.component'
|
||||
import { ChildProvider } from './childContext.component'
|
||||
import { Menu } from './menu.component'
|
||||
import { RootStackParamList } from './navigation.component'
|
||||
import { NavigationTitle } from './navigationTitle.component'
|
||||
import { NewsList } from './newsList.component'
|
||||
import { NotificationsList } from './notificationsList.component'
|
||||
|
||||
|
@ -43,7 +46,7 @@ const MenuScreen = () => <Menu />
|
|||
const TabNavigator = ({
|
||||
initialRouteName = 'News',
|
||||
}: {
|
||||
initialRouteName: keyof ChildTabParamList
|
||||
initialRouteName?: keyof ChildTabParamList
|
||||
}) => (
|
||||
<Navigator
|
||||
initialRouteName={initialRouteName}
|
||||
|
@ -108,9 +111,16 @@ export const childRouteOptions = ({
|
|||
}: {
|
||||
route: RouteProp<RootStackParamList, 'Child'>
|
||||
}): NativeStackNavigationOptions => {
|
||||
const { child } = route.params
|
||||
|
||||
return {
|
||||
...defaultStackStyling,
|
||||
title: getHeaderTitle(route),
|
||||
headerCenter: () => (
|
||||
<NavigationTitle
|
||||
title={getHeaderTitle(route)}
|
||||
subtitle={studentName(child?.name)}
|
||||
/>
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -118,9 +128,14 @@ export const Child = () => {
|
|||
const route = useRoute<ChildRouteProps>()
|
||||
const { child, initialRouteName } = route.params
|
||||
|
||||
const navigation = useNavigation()
|
||||
navigation.setOptions({ title: getHeaderTitle(route) })
|
||||
|
||||
return (
|
||||
<ChildProvider child={child}>
|
||||
<TabNavigator initialRouteName={initialRouteName as any} />
|
||||
<TabNavigator
|
||||
initialRouteName={initialRouteName as keyof ChildTabParamList}
|
||||
/>
|
||||
</ChildProvider>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ import { useNavigation } from '@react-navigation/native'
|
|||
import { StackNavigationProp } from '@react-navigation/stack'
|
||||
import {
|
||||
useCalendar,
|
||||
useMenu,
|
||||
useNews,
|
||||
useNotifications,
|
||||
useSchedule,
|
||||
|
@ -17,11 +18,13 @@ import {
|
|||
import moment from 'moment'
|
||||
import React from 'react'
|
||||
import { TouchableOpacity, View } from 'react-native'
|
||||
import { Layout, Sizing } from '../styles'
|
||||
import { Colors, Layout, Sizing } from '../styles'
|
||||
import { studentName } from '../utils/peopleHelpers'
|
||||
import { translate } from '../utils/translation'
|
||||
import { RootStackParamList } from './navigation.component'
|
||||
import { StudentAvatar } from './studentAvatar.component'
|
||||
import { DaySummary } from './daySummary.component'
|
||||
import { AlertIcon, RightArrowIcon } from './icon.component'
|
||||
|
||||
interface ChildListItemProps {
|
||||
child: Child
|
||||
|
@ -40,6 +43,7 @@ export const ChildListItem = ({ child, color }: ChildListItemProps) => {
|
|||
const { data: notifications } = useNotifications(child)
|
||||
const { data: news } = useNews(child)
|
||||
const { data: calendar } = useCalendar(child)
|
||||
const { data: menu } = useMenu(child)
|
||||
const { data: schedule } = useSchedule(
|
||||
child,
|
||||
moment().toISOString(),
|
||||
|
@ -108,26 +112,31 @@ export const ChildListItem = ({ child, color }: ChildListItemProps) => {
|
|||
{className ? <Text category="s1">{className}</Text> : null}
|
||||
</View>
|
||||
</View>
|
||||
<View style={styles.cardHeaderRight}>
|
||||
<RightArrowIcon
|
||||
style={styles.icon}
|
||||
fill={Colors.neutral.gray500}
|
||||
name="star"
|
||||
/>
|
||||
</View>
|
||||
</View>
|
||||
<DaySummary child={child} />
|
||||
{scheduleAndCalendarThisWeek.slice(0, 3).map((calendarItem, i) => (
|
||||
<Text category="p1" key={i}>
|
||||
{`${calendarItem.title} (${displayDate(calendarItem.startDate)})`}
|
||||
</Text>
|
||||
))}
|
||||
<Text category="c2" style={styles.label}>
|
||||
{translate('navigation.news')}
|
||||
</Text>
|
||||
{notificationsThisWeek.slice(0, 3).map((notification, i) => (
|
||||
<Text category="p1" key={i}>
|
||||
{translate('notifications.notificationTitle', {
|
||||
message: notification.message,
|
||||
dateCreated: displayDate(notification.dateCreated),
|
||||
})}
|
||||
{notification.message}
|
||||
</Text>
|
||||
))}
|
||||
{newsThisWeek.slice(0, 3).map((newsItem, i) => (
|
||||
<Text category="p1" key={i}>
|
||||
{translate('news.notificationTitle', {
|
||||
header: newsItem.header,
|
||||
published: displayDate(newsItem.published),
|
||||
})}
|
||||
{newsItem.header ?? ''}
|
||||
</Text>
|
||||
))}
|
||||
{scheduleAndCalendarThisWeek.length ||
|
||||
|
@ -137,13 +146,24 @@ export const ChildListItem = ({ child, color }: ChildListItemProps) => {
|
|||
{translate('news.noNewNewsItemsThisWeek')}
|
||||
</Text>
|
||||
)}
|
||||
|
||||
{!menu[moment().isoWeekday() - 1] ? null : (
|
||||
<>
|
||||
<Text category="c2" style={styles.label}>
|
||||
{translate('schedule.lunch')}
|
||||
</Text>
|
||||
<Text>{menu[moment().isoWeekday() - 1]?.description}</Text>
|
||||
</>
|
||||
)}
|
||||
<View style={styles.itemFooterAbsence}>
|
||||
<Button
|
||||
accessible
|
||||
accessibilityRole="button"
|
||||
accessibilityLabel={`${child.name}, ${translate('abscense.title')}`}
|
||||
size="small"
|
||||
status="basic"
|
||||
appearance="ghost"
|
||||
accessoryLeft={AlertIcon}
|
||||
status=""
|
||||
style={styles.absenceButton}
|
||||
onPress={() => navigation.navigate('Absence', { child })}
|
||||
>
|
||||
{translate('abscense.title')}
|
||||
|
@ -170,11 +190,23 @@ const themeStyles = StyleService.create({
|
|||
cardHeaderLeft: {
|
||||
...Layout.flex.row,
|
||||
...Layout.mainAxis.center,
|
||||
flex: 10,
|
||||
},
|
||||
cardHeaderRight: {
|
||||
...Layout.flex.row,
|
||||
...Layout.crossAxis.flexEnd,
|
||||
flex: 1,
|
||||
},
|
||||
cardHeaderText: {
|
||||
marginHorizontal: Sizing.t4,
|
||||
flex: 1,
|
||||
flex: 10,
|
||||
},
|
||||
icon: {
|
||||
width: 32,
|
||||
height: 32,
|
||||
},
|
||||
label: {
|
||||
marginTop: 10,
|
||||
},
|
||||
itemFooter: {
|
||||
...Layout.flex.row,
|
||||
|
@ -184,6 +216,9 @@ const themeStyles = StyleService.create({
|
|||
...Layout.mainAxis.flexStart,
|
||||
marginTop: Sizing.t4,
|
||||
},
|
||||
absenceButton: {
|
||||
marginLeft: -20,
|
||||
},
|
||||
item: {
|
||||
marginRight: 12,
|
||||
paddingHorizontal: 2,
|
||||
|
|
|
@ -33,7 +33,7 @@ export const childenRouteOptions = (): NativeStackNavigationOptions => {
|
|||
return {
|
||||
...defaultStackStyling,
|
||||
title: translate('children.title'),
|
||||
headerLargeTitle: true,
|
||||
headerLargeTitle: false,
|
||||
headerLargeTitleHideShadow: true,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,10 +9,10 @@ import { translate } from '../utils/translation'
|
|||
|
||||
interface DaySummaryProps {
|
||||
child: Child
|
||||
date: Moment
|
||||
date?: Moment
|
||||
}
|
||||
|
||||
export const DaySummary = ({ child, date }: DaySummaryProps) => {
|
||||
export const DaySummary = ({ child, date = moment() }: DaySummaryProps) => {
|
||||
const styles = useStyleSheet(themedStyles)
|
||||
const [year, week] = [moment().isoWeekYear(), moment().isoWeek()]
|
||||
const { data: weekLessons } = useTimetable(
|
||||
|
@ -26,28 +26,58 @@ export const DaySummary = ({ child, date }: DaySummaryProps) => {
|
|||
.filter((lesson) => lesson.dayOfWeek === date.isoWeekday())
|
||||
.sort((a, b) => a.dateStart.localeCompare(b.dateStart))
|
||||
|
||||
const gymBag = lessons.some((lesson) => lesson.code === 'IDH')
|
||||
|
||||
if (lessons.length <= 0) {
|
||||
return null
|
||||
}
|
||||
|
||||
const gymBag = lessons.some((lesson) => lesson.code === 'IDH')
|
||||
|
||||
return (
|
||||
<View style={styles.summary}>
|
||||
<Text category="h5">
|
||||
{lessons[0].timeStart.slice(0, 5)}-
|
||||
{lessons[lessons.length - 1].timeEnd.slice(0, 5)}
|
||||
{gymBag
|
||||
? ` (🤼♀️ ${translate('schedule.gymBag', {
|
||||
defaultValue: 'Gympapåse',
|
||||
})})`
|
||||
: ''}
|
||||
</Text>
|
||||
<View style={styles.part}>
|
||||
<View>
|
||||
<Text category="c2" style={styles.label}>
|
||||
{translate('schedule.start')}
|
||||
</Text>
|
||||
<Text category="h5">{lessons[0].timeStart.slice(0, 5)} - </Text>
|
||||
</View>
|
||||
</View>
|
||||
<View style={styles.part}>
|
||||
<View>
|
||||
<Text category="c2" style={styles.label}>
|
||||
{translate('schedule.end')}
|
||||
</Text>
|
||||
<Text category="h5">
|
||||
{lessons[lessons.length - 1].timeEnd.slice(0, 5)}
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
<View style={styles.part}>
|
||||
<View>
|
||||
<Text category="c2" style={styles.label}>
|
||||
|
||||
</Text>
|
||||
<Text category="s2">
|
||||
{gymBag
|
||||
? ` 🤼♀️ ${translate('schedule.gymBag', {
|
||||
defaultValue: 'Gympapåse',
|
||||
})}`
|
||||
: ''}
|
||||
</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
)
|
||||
}
|
||||
|
||||
const themedStyles = StyleService.create({
|
||||
part: {
|
||||
flexDirection: 'column',
|
||||
},
|
||||
summary: {
|
||||
flexDirection: 'row',
|
||||
},
|
||||
label: {
|
||||
marginTop: 10,
|
||||
},
|
||||
})
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
import { Icon, IconProps } from '@ui-kitten/components'
|
||||
import React from 'react'
|
||||
|
||||
const uiIcon = (name: string) => (props: IconProps) => (
|
||||
const uiIcon = (name: string) => (props: IconProps) =>
|
||||
<Icon {...props} name={name} />
|
||||
)
|
||||
|
||||
export const AlertIcon = uiIcon('alert-circle-outline')
|
||||
export const BackIcon = uiIcon('arrow-back')
|
||||
|
@ -29,3 +28,4 @@ export const BookOpenIcon = uiIcon('book-open-outline')
|
|||
export const GlobeIcon = uiIcon('globe-outline')
|
||||
export const ExternalLinkIcon = uiIcon('external-link-outline')
|
||||
export const ClipboardIcon = uiIcon('clipboard-outline')
|
||||
export const RightArrowIcon = uiIcon('arrow-ios-forward-outline')
|
||||
|
|
|
@ -76,7 +76,7 @@ export const AppNavigator = () => {
|
|||
<StatusBar />
|
||||
<Navigator
|
||||
screenOptions={() => ({
|
||||
headerLargeTitle: true,
|
||||
headerLargeTitle: false,
|
||||
headerLargeTitleHideShadow: true,
|
||||
headerStyle: {
|
||||
backgroundColor: colors['background-basic-color-2'],
|
||||
|
|
|
@ -28,5 +28,5 @@ const styles = StyleSheet.create({
|
|||
...fontSize.base,
|
||||
fontWeight: '500',
|
||||
},
|
||||
subtitle: { ...fontSize.xs },
|
||||
subtitle: { ...fontSize.xxs },
|
||||
})
|
||||
|
|
|
@ -9,10 +9,12 @@ import { ScrollView, View } from 'react-native'
|
|||
import { NativeStackNavigationOptions } from 'react-native-screens/native-stack'
|
||||
import { defaultStackStyling } from '../design/navigationThemes'
|
||||
import { Layout, Sizing, Typography } from '../styles'
|
||||
import { studentName } from '../utils/peopleHelpers'
|
||||
import { translate } from '../utils/translation'
|
||||
import { Image } from './image.component'
|
||||
import { Markdown } from './markdown.component'
|
||||
import { RootStackParamList } from './navigation.component'
|
||||
import { NavigationTitle } from './navigationTitle.component'
|
||||
|
||||
interface NewsItemProps {
|
||||
navigation: StackNavigationProp<RootStackParamList, 'NewsItem'>
|
||||
|
@ -30,11 +32,16 @@ export const newsItemRouteOptions = ({
|
|||
route: RouteProp<RootStackParamList, 'NewsItem'>
|
||||
}): NativeStackNavigationOptions => {
|
||||
const newsItem = route.params.newsItem
|
||||
|
||||
const { child } = route.params
|
||||
return {
|
||||
...defaultStackStyling,
|
||||
title: newsItem.header,
|
||||
headerLargeTitle: true,
|
||||
headerCenter: () => (
|
||||
<NavigationTitle
|
||||
title={newsItem.header}
|
||||
subtitle={studentName(child?.name)}
|
||||
/>
|
||||
),
|
||||
headerLargeTitle: false,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,8 +4,7 @@ import { NewsItem } from '@skolplattformen/embedded-api'
|
|||
import { StyleService, useStyleSheet } from '@ui-kitten/components'
|
||||
import moment from 'moment'
|
||||
import React, { ReactNode } from 'react'
|
||||
import { Dimensions, Text, View } from 'react-native'
|
||||
import { TouchableOpacity } from 'react-native-gesture-handler'
|
||||
import { Dimensions, Pressable, Text, View } from 'react-native'
|
||||
import { Layout, Sizing, Typography } from '../styles'
|
||||
import { useChild } from './childContext.component'
|
||||
import { Image } from './image.component'
|
||||
|
@ -32,7 +31,7 @@ export const NewsListItem = ({ item, children }: NewsListItemProps) => {
|
|||
const displayDate = hasDate ? moment(hasDate).fromNow() : null
|
||||
|
||||
return (
|
||||
<TouchableOpacity
|
||||
<Pressable
|
||||
onPress={() => navigation.navigate('NewsItem', { newsItem: item, child })}
|
||||
>
|
||||
<View style={styles.card}>
|
||||
|
@ -58,7 +57,7 @@ export const NewsListItem = ({ item, children }: NewsListItemProps) => {
|
|||
</View>
|
||||
</View>
|
||||
</View>
|
||||
</TouchableOpacity>
|
||||
</Pressable>
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ import { Notification as NotificationType } from '@skolplattformen/embedded-api'
|
|||
import { StyleService, Text, useStyleSheet } from '@ui-kitten/components'
|
||||
import moment from 'moment'
|
||||
import React from 'react'
|
||||
import { TouchableOpacity, View } from 'react-native'
|
||||
import { Pressable, View } from 'react-native'
|
||||
import { Layout, Sizing, Typography } from '../styles'
|
||||
import { ModalWebView } from './modalWebView.component'
|
||||
|
||||
|
@ -26,7 +26,7 @@ export const Notification = ({ item }: NotificationProps) => {
|
|||
|
||||
return (
|
||||
<>
|
||||
<TouchableOpacity onPress={open}>
|
||||
<Pressable onPress={open}>
|
||||
<View style={styles.card}>
|
||||
<View>
|
||||
<Text style={styles.title}>{item.sender}</Text>
|
||||
|
@ -38,7 +38,7 @@ export const Notification = ({ item }: NotificationProps) => {
|
|||
</View>
|
||||
<Text>{item.message}</Text>
|
||||
</View>
|
||||
</TouchableOpacity>
|
||||
</Pressable>
|
||||
{isOpen && (
|
||||
<ModalWebView
|
||||
url={item.url}
|
||||
|
|
|
@ -31,9 +31,8 @@ export const SetLanguage = () => {
|
|||
|
||||
const currentLanguage = LanguageService.getLanguageCode()
|
||||
|
||||
const [selectedLanguage, setSelectedLanguage] = useState<string>(
|
||||
currentLanguage
|
||||
)
|
||||
const [selectedLanguage, setSelectedLanguage] =
|
||||
useState<string>(currentLanguage)
|
||||
const { setLanguageCode } = useLanguage()
|
||||
|
||||
const shouldRestart = () => {
|
||||
|
|
|
@ -15,7 +15,6 @@ import React, { useEffect, useState } from 'react'
|
|||
import { View } from 'react-native'
|
||||
import { LanguageService } from '../services/languageService'
|
||||
import { Sizing, Typography } from '../styles'
|
||||
import { translate } from '../utils/translation'
|
||||
import { TransitionView } from './transitionView.component'
|
||||
|
||||
interface WeekProps {
|
||||
|
@ -24,6 +23,7 @@ interface WeekProps {
|
|||
|
||||
interface LessonListProps {
|
||||
lessons: TimetableEntry[]
|
||||
lunch?: MenuItem
|
||||
header: string
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ interface DayProps {
|
|||
lessons: TimetableEntry[]
|
||||
}
|
||||
|
||||
const LessonList = ({ lessons, header }: LessonListProps) => {
|
||||
const LessonList = ({ lessons, header, lunch }: LessonListProps) => {
|
||||
const styles = useStyleSheet(themedStyles)
|
||||
|
||||
return (
|
||||
|
@ -46,23 +46,31 @@ const LessonList = ({ lessons, header }: LessonListProps) => {
|
|||
</Text>
|
||||
)}
|
||||
renderItem={({
|
||||
item: { id, name, timeStart, timeEnd, teacher, location },
|
||||
item: { id, code, name, timeStart, timeEnd, teacher, location },
|
||||
}) => (
|
||||
<ListItem
|
||||
key={id}
|
||||
style={styles.item}
|
||||
title={() => (
|
||||
<Text style={styles.lessonTitle} maxFontSizeMultiplier={1}>
|
||||
{name}
|
||||
</Text>
|
||||
<View>
|
||||
<Text style={styles.lessonTitle} maxFontSizeMultiplier={1}>
|
||||
{name}
|
||||
</Text>
|
||||
</View>
|
||||
)}
|
||||
description={() => (
|
||||
<Text
|
||||
style={styles.lessonDescription}
|
||||
maxFontSizeMultiplier={1}
|
||||
>{`${timeStart.slice(0, 5)}-${timeEnd.slice(0, 5)} ${
|
||||
location ? `(${location})` : ''
|
||||
} ${teacher}`}</Text>
|
||||
<View style={styles.lesson}>
|
||||
<Text
|
||||
style={styles.lessonDescription}
|
||||
maxFontSizeMultiplier={1}
|
||||
>{`${timeStart.slice(0, 5)}-${timeEnd.slice(
|
||||
0,
|
||||
5
|
||||
)} (${location})`}</Text>
|
||||
<Text style={styles.lessonDescription} maxFontSizeMultiplier={1}>
|
||||
{code === 'Lunch' ? lunch?.description : teacher}
|
||||
</Text>
|
||||
</View>
|
||||
)}
|
||||
/>
|
||||
)}
|
||||
|
@ -78,39 +86,14 @@ export const Day = ({ weekDay, lunch, lessons }: DayProps) => {
|
|||
}
|
||||
return (
|
||||
<View style={styles.tab} key={weekDay}>
|
||||
<View style={styles.summary}>
|
||||
<Text maxFontSizeMultiplier={2} category="c1" style={styles.startTime}>
|
||||
{translate('schedule.start', { defaultValue: 'Börjar' })}
|
||||
</Text>
|
||||
<Text maxFontSizeMultiplier={3} category="h4">
|
||||
{lessons[0].timeStart.slice(0, 5)}
|
||||
</Text>
|
||||
<Text category="c1" style={styles.lunchLabel}>
|
||||
{translate('schedule.lunch', { defaultValue: 'Lunch' })}
|
||||
</Text>
|
||||
<Text maxFontSizeMultiplier={2} category="c2" style={styles.lunch}>
|
||||
{lunch?.description}
|
||||
</Text>
|
||||
<Text maxFontSizeMultiplier={3} category="c1" style={styles.endTime}>
|
||||
{translate('schedule.end', { defaultValue: 'Slutar' })}
|
||||
</Text>
|
||||
<Text maxFontSizeMultiplier={2} category="h4">
|
||||
{lessons[lessons.length - 1].timeEnd.slice(0, 5)}
|
||||
</Text>
|
||||
<Text maxFontSizeMultiplier={2} category="c2">
|
||||
{lessons.some((lesson) => lesson.code === 'IDH')
|
||||
? `🤼♀️ ${translate('schedule.gymBag', {
|
||||
defaultValue: 'Gympapåse',
|
||||
})}`
|
||||
: ''}
|
||||
</Text>
|
||||
</View>
|
||||
<LessonList
|
||||
header="FM"
|
||||
lunch={lunch}
|
||||
lessons={lessons.filter(({ timeStart }) => timeStart < '12:00')}
|
||||
/>
|
||||
<LessonList
|
||||
header="EM"
|
||||
lunch={lunch}
|
||||
lessons={lessons.filter(({ timeStart }) => timeStart >= '12:00')}
|
||||
/>
|
||||
</View>
|
||||
|
@ -185,7 +168,7 @@ const themedStyles = StyleService.create({
|
|||
padding: 0,
|
||||
},
|
||||
item: {
|
||||
height: 45,
|
||||
height: 55,
|
||||
backgroundColor: 'background-basic-color-2',
|
||||
paddingHorizontal: 0,
|
||||
borderRadius: 2,
|
||||
|
@ -223,7 +206,7 @@ const themedStyles = StyleService.create({
|
|||
...Typography.fontWeight.bold,
|
||||
},
|
||||
header: {
|
||||
paddingLeft: 8,
|
||||
paddingLeft: 10,
|
||||
},
|
||||
lessonTitle: {
|
||||
...Typography.fontWeight.semibold,
|
||||
|
@ -232,4 +215,7 @@ const themedStyles = StyleService.create({
|
|||
lessonDescription: {
|
||||
fontSize: 13,
|
||||
},
|
||||
lesson: {
|
||||
flexDirection: 'column',
|
||||
},
|
||||
})
|
||||
|
|
|
@ -21,23 +21,35 @@
|
|||
2DCD954D1E0B4F2C00145EB5 /* appTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* appTests.m */; };
|
||||
417D579C3DC24A9684D24EDD /* Poppins-BlackItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 00FDE4C2522044DAAD866D5F /* Poppins-BlackItalic.ttf */; };
|
||||
41DE97CF96674977BC052462 /* Poppins-SemiBoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = A9CB7679337840D3BD256A13 /* Poppins-SemiBoldItalic.ttf */; };
|
||||
<<<<<<< HEAD
|
||||
467D601E14C1D20353B0E359 /* libPods-app-appTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 28F4413964093C3588586E4B /* libPods-app-appTests.a */; };
|
||||
=======
|
||||
47BDB18EB778190FE74D4711 /* libPods-app-appTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FD636EC71EB046C8CA3092FC /* libPods-app-appTests.a */; };
|
||||
4B4CB82443211891C9F102C7 /* libPods-app-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DD971982E1DA8A02706ED0DB /* libPods-app-tvOSTests.a */; };
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
4E01D1C8DD5749C8953D3BE5 /* Poppins-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 661AE05493ED4FE780C32EF6 /* Poppins-Bold.ttf */; };
|
||||
4F931CB3182F40F580F357FF /* Poppins-ThinItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = E251C7BB03F74441B4357419 /* Poppins-ThinItalic.ttf */; };
|
||||
50AAEBD19BD24B129801C393 /* Poppins-Italic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 977D264ECA05485EA89A2F13 /* Poppins-Italic.ttf */; };
|
||||
5257E7B8420740A2862BEEB0 /* Poppins-BoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 8E2BDC4163F1467E94E5D34C /* Poppins-BoldItalic.ttf */; };
|
||||
6D069850985349ABB76BDD0A /* Poppins-Black.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B1A304CF782943E19F93DFD6 /* Poppins-Black.ttf */; };
|
||||
71436C48CDF348BE904103E9 /* Poppins-Light.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 231B760691854EBCA7ECD80E /* Poppins-Light.ttf */; };
|
||||
7B3AE70EB6D77BA7B6328B73 /* libPods-app-tvOSTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6CD2C4F5EEF833715B357730 /* libPods-app-tvOSTests.a */; };
|
||||
7B94D8768C6340958F2EEFFD /* Poppins-ExtraLight.ttf in Resources */ = {isa = PBXBuildFile; fileRef = C9AC377D6B7744ECBBEA0A8A /* Poppins-ExtraLight.ttf */; };
|
||||
81AB9BB82411601600AC10FF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */; };
|
||||
836E1F3164D8497F8C51847A /* Poppins-LightItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7CEBAD12E8E5471AA962262A /* Poppins-LightItalic.ttf */; };
|
||||
8F8E6DB2A0AB4DF3A5ED51E7 /* Poppins-SemiBold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 920F53F06E0B433DB798AC45 /* Poppins-SemiBold.ttf */; };
|
||||
9BB2301820933CB162183656 /* libPods-app-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9899046DFCE4CA5E2101CBE0 /* libPods-app-tvOS.a */; };
|
||||
9FA2A398A0264369AD50123F /* Poppins-ExtraBoldItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9F1539AF1544412D9662D264 /* Poppins-ExtraBoldItalic.ttf */; };
|
||||
9FC2C87C76F74B609BA3709E /* Poppins-ExtraLightItalic.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9420B3EA5C884AFFADCAFB4C /* Poppins-ExtraLightItalic.ttf */; };
|
||||
<<<<<<< HEAD
|
||||
AC5E863985C04D72B5806B58 /* Poppins-Thin.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 02B78F6C72354B2D8171239D /* Poppins-Thin.ttf */; };
|
||||
BB34E03413EB4CDFA59766B1 /* Poppins-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EB6EB5293E4C48098CBD53C2 /* Poppins-Regular.ttf */; };
|
||||
F519E219289BEDEDEA9E3B95 /* libPods-app.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4CFC1EE9CE77CFD3DE61BBFE /* libPods-app.a */; };
|
||||
=======
|
||||
A4BF559C3C24B81BCBBC0C43 /* libPods-app-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 107C1F5266AD5BE6840522FD /* libPods-app-tvOS.a */; };
|
||||
AC5E863985C04D72B5806B58 /* Poppins-Thin.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 02B78F6C72354B2D8171239D /* Poppins-Thin.ttf */; };
|
||||
BB34E03413EB4CDFA59766B1 /* Poppins-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = EB6EB5293E4C48098CBD53C2 /* Poppins-Regular.ttf */; };
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
|
@ -62,15 +74,53 @@
|
|||
00E356EE1AD99517003FC87E /* appTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = appTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
00E356F21AD99517003FC87E /* appTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = appTests.m; sourceTree = "<group>"; };
|
||||
<<<<<<< HEAD
|
||||
00FDE4C2522044DAAD866D5F /* Poppins-BlackItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-BlackItalic.ttf"; path = "../assets/fonts/Poppins-BlackItalic.ttf"; sourceTree = "<group>"; };
|
||||
02B78F6C72354B2D8171239D /* Poppins-Thin.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Thin.ttf"; path = "../assets/fonts/Poppins-Thin.ttf"; sourceTree = "<group>"; };
|
||||
0668F5F97ABB0B90C666286A /* Pods-app-tvOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-app-tvOS.debug.xcconfig"; path = "Target Support Files/Pods-app-tvOS/Pods-app-tvOS.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
=======
|
||||
00FDE4C2522044DAAD866D5F /* Poppins-BlackItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-BlackItalic.ttf"; path = "../assets/fonts/Poppins-BlackItalic.ttf"; sourceTree = "<group>"; };
|
||||
02B78F6C72354B2D8171239D /* Poppins-Thin.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Thin.ttf"; path = "../assets/fonts/Poppins-Thin.ttf"; sourceTree = "<group>"; };
|
||||
107C1F5266AD5BE6840522FD /* libPods-app-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-app-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
13B07F961A680F5B00A75B9A /* app.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = app.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = app/AppDelegate.h; sourceTree = "<group>"; };
|
||||
13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = app/AppDelegate.m; sourceTree = "<group>"; };
|
||||
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = app/Images.xcassets; sourceTree = "<group>"; };
|
||||
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = app/Info.plist; sourceTree = "<group>"; };
|
||||
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = app/main.m; sourceTree = "<group>"; };
|
||||
<<<<<<< HEAD
|
||||
231B760691854EBCA7ECD80E /* Poppins-Light.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Light.ttf"; path = "../assets/fonts/Poppins-Light.ttf"; sourceTree = "<group>"; };
|
||||
28A7638D2A4F8DB18E405DF8 /* Pods-app.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-app.release.xcconfig"; path = "Target Support Files/Pods-app/Pods-app.release.xcconfig"; sourceTree = "<group>"; };
|
||||
28F4413964093C3588586E4B /* libPods-app-appTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-app-appTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
2D02E47B1E0B4A5D006451C7 /* app-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "app-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
2D02E4901E0B4A5D006451C7 /* app-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "app-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
39860E8D652FC0F60C40DA4E /* Pods-app.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-app.debug.xcconfig"; path = "Target Support Files/Pods-app/Pods-app.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
3CBFE8DBE8994C1FAF939519 /* Poppins-MediumItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-MediumItalic.ttf"; path = "../assets/fonts/Poppins-MediumItalic.ttf"; sourceTree = "<group>"; };
|
||||
4CFC1EE9CE77CFD3DE61BBFE /* libPods-app.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-app.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
661AE05493ED4FE780C32EF6 /* Poppins-Bold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Bold.ttf"; path = "../assets/fonts/Poppins-Bold.ttf"; sourceTree = "<group>"; };
|
||||
6A7EDD883BA30EB3E77BA661 /* Pods-app-appTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-app-appTests.release.xcconfig"; path = "Target Support Files/Pods-app-appTests/Pods-app-appTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
6CD2C4F5EEF833715B357730 /* libPods-app-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-app-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
7AF5677EA52D44EE97668E7A /* Poppins-Medium.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Medium.ttf"; path = "../assets/fonts/Poppins-Medium.ttf"; sourceTree = "<group>"; };
|
||||
7CEBAD12E8E5471AA962262A /* Poppins-LightItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-LightItalic.ttf"; path = "../assets/fonts/Poppins-LightItalic.ttf"; sourceTree = "<group>"; };
|
||||
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = app/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
8E2BDC4163F1467E94E5D34C /* Poppins-BoldItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-BoldItalic.ttf"; path = "../assets/fonts/Poppins-BoldItalic.ttf"; sourceTree = "<group>"; };
|
||||
920F53F06E0B433DB798AC45 /* Poppins-SemiBold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-SemiBold.ttf"; path = "../assets/fonts/Poppins-SemiBold.ttf"; sourceTree = "<group>"; };
|
||||
9420B3EA5C884AFFADCAFB4C /* Poppins-ExtraLightItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-ExtraLightItalic.ttf"; path = "../assets/fonts/Poppins-ExtraLightItalic.ttf"; sourceTree = "<group>"; };
|
||||
977D264ECA05485EA89A2F13 /* Poppins-Italic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Italic.ttf"; path = "../assets/fonts/Poppins-Italic.ttf"; sourceTree = "<group>"; };
|
||||
9899046DFCE4CA5E2101CBE0 /* libPods-app-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-app-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9A9C27037F0F4AF2A4CBAE78 /* Poppins-ExtraBold.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-ExtraBold.ttf"; path = "../assets/fonts/Poppins-ExtraBold.ttf"; sourceTree = "<group>"; };
|
||||
9F1539AF1544412D9662D264 /* Poppins-ExtraBoldItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-ExtraBoldItalic.ttf"; path = "../assets/fonts/Poppins-ExtraBoldItalic.ttf"; sourceTree = "<group>"; };
|
||||
A9CB7679337840D3BD256A13 /* Poppins-SemiBoldItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-SemiBoldItalic.ttf"; path = "../assets/fonts/Poppins-SemiBoldItalic.ttf"; sourceTree = "<group>"; };
|
||||
B1A304CF782943E19F93DFD6 /* Poppins-Black.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Black.ttf"; path = "../assets/fonts/Poppins-Black.ttf"; sourceTree = "<group>"; };
|
||||
B6E0D620E14A79C76BEEE7B0 /* Pods-app-appTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-app-appTests.debug.xcconfig"; path = "Target Support Files/Pods-app-appTests/Pods-app-appTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
C9AC377D6B7744ECBBEA0A8A /* Poppins-ExtraLight.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-ExtraLight.ttf"; path = "../assets/fonts/Poppins-ExtraLight.ttf"; sourceTree = "<group>"; };
|
||||
CEA926A3EC369BA705616454 /* Pods-app-tvOSTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-app-tvOSTests.release.xcconfig"; path = "Target Support Files/Pods-app-tvOSTests/Pods-app-tvOSTests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
CF8CACB29D1B5EA56F49A758 /* Pods-app-tvOSTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-app-tvOSTests.debug.xcconfig"; path = "Target Support Files/Pods-app-tvOSTests/Pods-app-tvOSTests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
DB5D08EF48EFB3984BD34C97 /* Pods-app-tvOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-app-tvOS.release.xcconfig"; path = "Target Support Files/Pods-app-tvOS/Pods-app-tvOS.release.xcconfig"; sourceTree = "<group>"; };
|
||||
E251C7BB03F74441B4357419 /* Poppins-ThinItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-ThinItalic.ttf"; path = "../assets/fonts/Poppins-ThinItalic.ttf"; sourceTree = "<group>"; };
|
||||
EB6EB5293E4C48098CBD53C2 /* Poppins-Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Regular.ttf"; path = "../assets/fonts/Poppins-Regular.ttf"; sourceTree = "<group>"; };
|
||||
=======
|
||||
231B760691854EBCA7ECD80E /* Poppins-Light.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Light.ttf"; path = "../assets/fonts/Poppins-Light.ttf"; sourceTree = "<group>"; };
|
||||
280FE376BA9F68A835942339 /* Pods-app.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-app.release.xcconfig"; path = "Target Support Files/Pods-app/Pods-app.release.xcconfig"; sourceTree = "<group>"; };
|
||||
2D02E47B1E0B4A5D006451C7 /* app-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "app-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
|
@ -100,6 +150,7 @@
|
|||
DD971982E1DA8A02706ED0DB /* libPods-app-tvOSTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-app-tvOSTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
E251C7BB03F74441B4357419 /* Poppins-ThinItalic.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-ThinItalic.ttf"; path = "../assets/fonts/Poppins-ThinItalic.ttf"; sourceTree = "<group>"; };
|
||||
EB6EB5293E4C48098CBD53C2 /* Poppins-Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "Poppins-Regular.ttf"; path = "../assets/fonts/Poppins-Regular.ttf"; sourceTree = "<group>"; };
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
||||
ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
|
||||
FD636EC71EB046C8CA3092FC /* libPods-app-appTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-app-appTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
|
@ -110,7 +161,11 @@
|
|||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
<<<<<<< HEAD
|
||||
467D601E14C1D20353B0E359 /* libPods-app-appTests.a in Frameworks */,
|
||||
=======
|
||||
47BDB18EB778190FE74D4711 /* libPods-app-appTests.a in Frameworks */,
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -118,7 +173,11 @@
|
|||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
<<<<<<< HEAD
|
||||
F519E219289BEDEDEA9E3B95 /* libPods-app.a in Frameworks */,
|
||||
=======
|
||||
143FF66AE1AD70EFD06AC8AF /* libPods-app.a in Frameworks */,
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -126,7 +185,11 @@
|
|||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
<<<<<<< HEAD
|
||||
9BB2301820933CB162183656 /* libPods-app-tvOS.a in Frameworks */,
|
||||
=======
|
||||
A4BF559C3C24B81BCBBC0C43 /* libPods-app-tvOS.a in Frameworks */,
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -134,7 +197,11 @@
|
|||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
<<<<<<< HEAD
|
||||
7B3AE70EB6D77BA7B6328B73 /* libPods-app-tvOSTests.a in Frameworks */,
|
||||
=======
|
||||
4B4CB82443211891C9F102C7 /* libPods-app-tvOSTests.a in Frameworks */,
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -177,10 +244,17 @@
|
|||
children = (
|
||||
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
|
||||
ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
|
||||
<<<<<<< HEAD
|
||||
4CFC1EE9CE77CFD3DE61BBFE /* libPods-app.a */,
|
||||
28F4413964093C3588586E4B /* libPods-app-appTests.a */,
|
||||
9899046DFCE4CA5E2101CBE0 /* libPods-app-tvOS.a */,
|
||||
6CD2C4F5EEF833715B357730 /* libPods-app-tvOSTests.a */,
|
||||
=======
|
||||
649626B23769045AA20DEA4B /* libPods-app.a */,
|
||||
FD636EC71EB046C8CA3092FC /* libPods-app-appTests.a */,
|
||||
107C1F5266AD5BE6840522FD /* libPods-app-tvOS.a */,
|
||||
DD971982E1DA8A02706ED0DB /* libPods-app-tvOSTests.a */,
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
|
@ -188,6 +262,16 @@
|
|||
678C13018B6095451BF5FE91 /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
<<<<<<< HEAD
|
||||
39860E8D652FC0F60C40DA4E /* Pods-app.debug.xcconfig */,
|
||||
28A7638D2A4F8DB18E405DF8 /* Pods-app.release.xcconfig */,
|
||||
B6E0D620E14A79C76BEEE7B0 /* Pods-app-appTests.debug.xcconfig */,
|
||||
6A7EDD883BA30EB3E77BA661 /* Pods-app-appTests.release.xcconfig */,
|
||||
0668F5F97ABB0B90C666286A /* Pods-app-tvOS.debug.xcconfig */,
|
||||
DB5D08EF48EFB3984BD34C97 /* Pods-app-tvOS.release.xcconfig */,
|
||||
CF8CACB29D1B5EA56F49A758 /* Pods-app-tvOSTests.debug.xcconfig */,
|
||||
CEA926A3EC369BA705616454 /* Pods-app-tvOSTests.release.xcconfig */,
|
||||
=======
|
||||
ABBB8754EE361CB0204F582C /* Pods-app.debug.xcconfig */,
|
||||
280FE376BA9F68A835942339 /* Pods-app.release.xcconfig */,
|
||||
7C857A37CA77892FBE4CBCB4 /* Pods-app-appTests.debug.xcconfig */,
|
||||
|
@ -196,6 +280,7 @@
|
|||
CF4C3955B9AD96EFCFD90FF4 /* Pods-app-tvOS.release.xcconfig */,
|
||||
78354E27627CAB6650C6B533 /* Pods-app-tvOSTests.debug.xcconfig */,
|
||||
B7D610CEAB7656E9EF5F11F8 /* Pods-app-tvOSTests.release.xcconfig */,
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
|
@ -266,12 +351,21 @@
|
|||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "appTests" */;
|
||||
buildPhases = (
|
||||
<<<<<<< HEAD
|
||||
15FC8B1F8DFC7AB53C0EF515 /* [CP] Check Pods Manifest.lock */,
|
||||
00E356EA1AD99517003FC87E /* Sources */,
|
||||
00E356EB1AD99517003FC87E /* Frameworks */,
|
||||
00E356EC1AD99517003FC87E /* Resources */,
|
||||
4667C4320F34031720797F3C /* [CP] Embed Pods Frameworks */,
|
||||
1303A35A8DA2C129B4A23206 /* [CP] Copy Pods Resources */,
|
||||
=======
|
||||
9BEAF09BF368870D3BB29E38 /* [CP] Check Pods Manifest.lock */,
|
||||
00E356EA1AD99517003FC87E /* Sources */,
|
||||
00E356EB1AD99517003FC87E /* Frameworks */,
|
||||
00E356EC1AD99517003FC87E /* Resources */,
|
||||
7AEB38910E2F1F4FA88EE94D /* [CP] Embed Pods Frameworks */,
|
||||
5DD7CD1D56DCD6B3E5B1A9CE /* [CP] Copy Pods Resources */,
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
|
@ -287,14 +381,23 @@
|
|||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "app" */;
|
||||
buildPhases = (
|
||||
<<<<<<< HEAD
|
||||
9D29BE040AF7360F45D8F001 /* [CP] Check Pods Manifest.lock */,
|
||||
=======
|
||||
56D66DD8C93796E7A3323F8C /* [CP] Check Pods Manifest.lock */,
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
FD10A7F022414F080027D42C /* Start Packager */,
|
||||
13B07F871A680F5B00A75B9A /* Sources */,
|
||||
13B07F8C1A680F5B00A75B9A /* Frameworks */,
|
||||
13B07F8E1A680F5B00A75B9A /* Resources */,
|
||||
00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
|
||||
<<<<<<< HEAD
|
||||
85710E966BCE235165F09B27 /* [CP] Embed Pods Frameworks */,
|
||||
E66B18CD904BC57656D86881 /* [CP] Copy Pods Resources */,
|
||||
=======
|
||||
EA6BA965CC0D35699B0303AC /* [CP] Embed Pods Frameworks */,
|
||||
1AF25533702B867240211810 /* [CP] Copy Pods Resources */,
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
|
@ -309,7 +412,11 @@
|
|||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "app-tvOS" */;
|
||||
buildPhases = (
|
||||
<<<<<<< HEAD
|
||||
91C2B75DF4E11DA4A4EAF855 /* [CP] Check Pods Manifest.lock */,
|
||||
=======
|
||||
3FBB5CCBE77389243E830A24 /* [CP] Check Pods Manifest.lock */,
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
FD10A7F122414F3F0027D42C /* Start Packager */,
|
||||
2D02E4771E0B4A5D006451C7 /* Sources */,
|
||||
2D02E4781E0B4A5D006451C7 /* Frameworks */,
|
||||
|
@ -329,7 +436,11 @@
|
|||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "app-tvOSTests" */;
|
||||
buildPhases = (
|
||||
<<<<<<< HEAD
|
||||
B2F9836D8AFDD83F0C8689F6 /* [CP] Check Pods Manifest.lock */,
|
||||
=======
|
||||
C64D066F4E7C024DDB16BE45 /* [CP] Check Pods Manifest.lock */,
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
2D02E48C1E0B4A5D006451C7 /* Sources */,
|
||||
2D02E48D1E0B4A5D006451C7 /* Frameworks */,
|
||||
2D02E48E1E0B4A5D006451C7 /* Resources */,
|
||||
|
@ -464,7 +575,29 @@
|
|||
shellPath = /bin/sh;
|
||||
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
|
||||
};
|
||||
<<<<<<< HEAD
|
||||
1303A35A8DA2C129B4A23206 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_ROOT}/Target Support Files/Pods-app-appTests/Pods-app-appTests-resources.sh",
|
||||
"${PODS_CONFIGURATION_BUILD_DIR}/React-Core/AccessibilityResources.bundle",
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-app-appTests/Pods-app-appTests-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
15FC8B1F8DFC7AB53C0EF515 /* [CP] Check Pods Manifest.lock */ = {
|
||||
=======
|
||||
1AF25533702B867240211810 /* [CP] Copy Pods Resources */ = {
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
|
@ -475,7 +608,11 @@
|
|||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
<<<<<<< HEAD
|
||||
"$(DERIVED_FILE_DIR)/Pods-app-appTests-checkManifestLockResult.txt",
|
||||
=======
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
|
@ -496,7 +633,11 @@
|
|||
shellPath = /bin/sh;
|
||||
shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
|
||||
};
|
||||
<<<<<<< HEAD
|
||||
4667C4320F34031720797F3C /* [CP] Embed Pods Frameworks */ = {
|
||||
=======
|
||||
3FBB5CCBE77389243E830A24 /* [CP] Check Pods Manifest.lock */ = {
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
|
@ -504,6 +645,23 @@
|
|||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
<<<<<<< HEAD
|
||||
"${PODS_ROOT}/Target Support Files/Pods-app-appTests/Pods-app-appTests-frameworks.sh",
|
||||
"${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
outputPaths = (
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hermes.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-app-appTests/Pods-app-appTests-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
85710E966BCE235165F09B27 /* [CP] Embed Pods Frameworks */ = {
|
||||
=======
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
|
@ -519,6 +677,7 @@
|
|||
showEnvVarsInLog = 0;
|
||||
};
|
||||
56D66DD8C93796E7A3323F8C /* [CP] Check Pods Manifest.lock */ = {
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
|
@ -526,21 +685,34 @@
|
|||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
<<<<<<< HEAD
|
||||
"${PODS_ROOT}/Target Support Files/Pods-app/Pods-app-frameworks.sh",
|
||||
"${PODS_ROOT}/hermes-engine/destroot/Library/Frameworks/iphoneos/hermes.framework",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL/OpenSSL.framework/OpenSSL",
|
||||
=======
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-app-checkManifestLockResult.txt",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
<<<<<<< HEAD
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-app/Pods-app-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
91C2B75DF4E11DA4A4EAF855 /* [CP] Check Pods Manifest.lock */ = {
|
||||
=======
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
5DD7CD1D56DCD6B3E5B1A9CE /* [CP] Copy Pods Resources */ = {
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
|
@ -551,13 +723,20 @@
|
|||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputPaths = (
|
||||
<<<<<<< HEAD
|
||||
"$(DERIVED_FILE_DIR)/Pods-app-tvOS-checkManifestLockResult.txt",
|
||||
=======
|
||||
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AccessibilityResources.bundle",
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-app-appTests/Pods-app-appTests-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
<<<<<<< HEAD
|
||||
9D29BE040AF7360F45D8F001 /* [CP] Check Pods Manifest.lock */ = {
|
||||
=======
|
||||
7AEB38910E2F1F4FA88EE94D /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
@ -579,6 +758,7 @@
|
|||
showEnvVarsInLog = 0;
|
||||
};
|
||||
9BEAF09BF368870D3BB29E38 /* [CP] Check Pods Manifest.lock */ = {
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
|
@ -593,14 +773,22 @@
|
|||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
<<<<<<< HEAD
|
||||
"$(DERIVED_FILE_DIR)/Pods-app-checkManifestLockResult.txt",
|
||||
=======
|
||||
"$(DERIVED_FILE_DIR)/Pods-app-appTests-checkManifestLockResult.txt",
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
<<<<<<< HEAD
|
||||
B2F9836D8AFDD83F0C8689F6 /* [CP] Check Pods Manifest.lock */ = {
|
||||
=======
|
||||
C64D066F4E7C024DDB16BE45 /* [CP] Check Pods Manifest.lock */ = {
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
|
@ -622,7 +810,11 @@
|
|||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
<<<<<<< HEAD
|
||||
E66B18CD904BC57656D86881 /* [CP] Copy Pods Resources */ = {
|
||||
=======
|
||||
EA6BA965CC0D35699B0303AC /* [CP] Embed Pods Frameworks */ = {
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
|
@ -735,7 +927,11 @@
|
|||
/* Begin XCBuildConfiguration section */
|
||||
00E356F61AD99517003FC87E /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
<<<<<<< HEAD
|
||||
baseConfigurationReference = B6E0D620E14A79C76BEEE7B0 /* Pods-app-appTests.debug.xcconfig */;
|
||||
=======
|
||||
baseConfigurationReference = 7C857A37CA77892FBE4CBCB4 /* Pods-app-appTests.debug.xcconfig */;
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
|
@ -758,7 +954,11 @@
|
|||
};
|
||||
00E356F71AD99517003FC87E /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
<<<<<<< HEAD
|
||||
baseConfigurationReference = 6A7EDD883BA30EB3E77BA661 /* Pods-app-appTests.release.xcconfig */;
|
||||
=======
|
||||
baseConfigurationReference = 5D7CFBD33492245E6092DA58 /* Pods-app-appTests.release.xcconfig */;
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
|
@ -778,7 +978,11 @@
|
|||
};
|
||||
13B07F941A680F5B00A75B9A /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
<<<<<<< HEAD
|
||||
baseConfigurationReference = 39860E8D652FC0F60C40DA4E /* Pods-app.debug.xcconfig */;
|
||||
=======
|
||||
baseConfigurationReference = ABBB8754EE361CB0204F582C /* Pods-app.debug.xcconfig */;
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
|
@ -807,7 +1011,11 @@
|
|||
};
|
||||
13B07F951A680F5B00A75B9A /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
<<<<<<< HEAD
|
||||
baseConfigurationReference = 28A7638D2A4F8DB18E405DF8 /* Pods-app.release.xcconfig */;
|
||||
=======
|
||||
baseConfigurationReference = 280FE376BA9F68A835942339 /* Pods-app.release.xcconfig */;
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
|
@ -834,7 +1042,11 @@
|
|||
};
|
||||
2D02E4971E0B4A5E006451C7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
<<<<<<< HEAD
|
||||
baseConfigurationReference = 0668F5F97ABB0B90C666286A /* Pods-app-tvOS.debug.xcconfig */;
|
||||
=======
|
||||
baseConfigurationReference = BFAE0434A1EC7279E958CD5B /* Pods-app-tvOS.debug.xcconfig */;
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
|
@ -862,7 +1074,11 @@
|
|||
};
|
||||
2D02E4981E0B4A5E006451C7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
<<<<<<< HEAD
|
||||
baseConfigurationReference = DB5D08EF48EFB3984BD34C97 /* Pods-app-tvOS.release.xcconfig */;
|
||||
=======
|
||||
baseConfigurationReference = CF4C3955B9AD96EFCFD90FF4 /* Pods-app-tvOS.release.xcconfig */;
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
|
@ -890,7 +1106,11 @@
|
|||
};
|
||||
2D02E4991E0B4A5E006451C7 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
<<<<<<< HEAD
|
||||
baseConfigurationReference = CF8CACB29D1B5EA56F49A758 /* Pods-app-tvOSTests.debug.xcconfig */;
|
||||
=======
|
||||
baseConfigurationReference = 78354E27627CAB6650C6B533 /* Pods-app-tvOSTests.debug.xcconfig */;
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
|
@ -917,7 +1137,11 @@
|
|||
};
|
||||
2D02E49A1E0B4A5E006451C7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
<<<<<<< HEAD
|
||||
baseConfigurationReference = CEA926A3EC369BA705616454 /* Pods-app-tvOSTests.release.xcconfig */;
|
||||
=======
|
||||
baseConfigurationReference = B7D610CEAB7656E9EF5F11F8 /* Pods-app-tvOSTests.release.xcconfig */;
|
||||
>>>>>>> 15a27e5a7143706c672f33d77cf0ef0d309a22ee
|
||||
buildSettings = {
|
||||
BUNDLE_LOADER = "$(TEST_HOST)";
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
"@react-navigation/native": "5.9.4",
|
||||
"@react-navigation/stack": "5.14.4",
|
||||
"@skolplattformen/api-hooks": "3.0.0",
|
||||
"@skolplattformen/curriculum": "1.4.0",
|
||||
"@skolplattformen/curriculum": "1.4.1",
|
||||
"@skolplattformen/embedded-api": "5.1.4",
|
||||
"@ui-kitten/components": "5.0.0",
|
||||
"@ui-kitten/eva-icons": "5.0.0",
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import { ViewStyle } from 'react-native'
|
||||
|
||||
type MainAxis = 'center' | 'flexStart'
|
||||
type MainAxis = 'center' | 'flexStart' | 'flexEnd'
|
||||
// @ts-expect-error Fix later
|
||||
export const mainAxis: Record<MainAxis, ViewStyle> = {
|
||||
center: {
|
||||
alignItems: 'center',
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
import { TextStyle } from 'react-native'
|
||||
import { systemWeights } from 'react-native-typography'
|
||||
|
||||
type FontSize = 'xs' | 'sm' | 'base' | 'lg' | 'xl'
|
||||
type FontSize = 'xxs' | 'xs' | 'sm' | 'base' | 'lg' | 'xl'
|
||||
export const fontSize: Record<FontSize, TextStyle> = {
|
||||
xxs: {
|
||||
fontSize: 8,
|
||||
},
|
||||
xs: {
|
||||
fontSize: 12,
|
||||
},
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
"send": "Senden",
|
||||
"settings": "Einstellungen",
|
||||
"socialSecurityNumber": "Personenkennziffer",
|
||||
"title": "Offene Skolplattformen",
|
||||
"title": "Öppna skolplattformen",
|
||||
"cancel": "Abbrechen"
|
||||
},
|
||||
"language": {
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
"send": "Send",
|
||||
"settings": "Settings",
|
||||
"socialSecurityNumber": "Personal identity number",
|
||||
"title": "Open Skolplattformen"
|
||||
"title": "Öppna skolplattformen"
|
||||
},
|
||||
"language": {
|
||||
"changeLanguage": "Change language",
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
"changeLanguage": "Vaihda kieltä"
|
||||
},
|
||||
"general": {
|
||||
"title": "Avaa Skolplattformen",
|
||||
"title": "Öppna skolplattformen",
|
||||
"socialSecurityNumber": "Henkilötunnus",
|
||||
"settings": "Asetukset",
|
||||
"send": "Lähetä",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"general": {
|
||||
"loading": "Chargement…",
|
||||
"title": "Ouvrez skolplattformen",
|
||||
"title": "Öppna skolplattformen",
|
||||
"socialSecurityNumber": "Numéro d'identité personnel",
|
||||
"settings": "Paramètres",
|
||||
"send": "Envoyer",
|
||||
|
|
|
@ -96,7 +96,7 @@
|
|||
"changeLanguage": "Linguam permutare"
|
||||
},
|
||||
"general": {
|
||||
"title": "Apertus Skolplattformen",
|
||||
"title": "Öppna skolplattformen",
|
||||
"socialSecurityNumber": "Numerus personalis",
|
||||
"settings": "Configurationes",
|
||||
"send": "Mittere",
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
"general": {
|
||||
"loading": "Laster inn …",
|
||||
"logout": "Logg ut",
|
||||
"title": "Åpne skolplattformen",
|
||||
"title": "Öppna skolplattformen",
|
||||
"socialSecurityNumber": "Personnummer",
|
||||
"confirm": "Bekreft",
|
||||
"changeLanguage": "Endre språk",
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# How to help out with translating Öppna Skolplattformen using Weblate
|
||||
# How to help out with translating Öppna skolplattformen using Weblate
|
||||
|
||||
We are using Weblate to translate our app. You can find the project [here](https://hosted.weblate.org/projects/skolplattformen/app-translation/).
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
"auth": {
|
||||
"bankid": {
|
||||
"OpenManually": "Öppna BankID manuellt",
|
||||
"OpenOnAnotherDevice": "Öppna BankID på en annan enhet",
|
||||
"OpenOnAnotherDevice": "Öppna BankID på annan enhet",
|
||||
"OpenOnThisDevice": "Logga in med BankID",
|
||||
"Waiting": "Väntar på BankID…"
|
||||
},
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue