diff --git a/react-native.config.js b/react-native.config.js new file mode 100644 index 0000000..8f354ef --- /dev/null +++ b/react-native.config.js @@ -0,0 +1,7 @@ +module.exports = { + project: { + ios:{}, + android:{} + }, + assets:['./assets/fonts/'], +}; diff --git a/src/assets/fonts/Inter-VariableFont_slnt,wght.ttf b/src/assets/fonts/Inter-VariableFont_slnt,wght.ttf new file mode 100644 index 0000000..969a990 Binary files /dev/null and b/src/assets/fonts/Inter-VariableFont_slnt,wght.ttf differ diff --git a/src/assets/fonts/OFL.txt b/src/assets/fonts/OFL.txt new file mode 100644 index 0000000..ad21484 --- /dev/null +++ b/src/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/src/assets/app-icon-white.png b/src/assets/icons/app-icon-white.png similarity index 100% rename from src/assets/app-icon-white.png rename to src/assets/icons/app-icon-white.png diff --git a/src/assets/arrow-clockwise.svg b/src/assets/icons/arrow-clockwise.svg similarity index 100% rename from src/assets/arrow-clockwise.svg rename to src/assets/icons/arrow-clockwise.svg diff --git a/src/assets/arrow-down-to-line.svg b/src/assets/icons/arrow-down-to-line.svg similarity index 100% rename from src/assets/arrow-down-to-line.svg rename to src/assets/icons/arrow-down-to-line.svg diff --git a/src/assets/backwards.svg b/src/assets/icons/backwards.svg similarity index 100% rename from src/assets/backwards.svg rename to src/assets/icons/backwards.svg diff --git a/src/assets/chevron-right.svg b/src/assets/icons/chevron-right.svg similarity index 100% rename from src/assets/chevron-right.svg rename to src/assets/icons/chevron-right.svg diff --git a/src/assets/cloud-down-arrow.svg b/src/assets/icons/cloud-down-arrow.svg similarity index 100% rename from src/assets/cloud-down-arrow.svg rename to src/assets/icons/cloud-down-arrow.svg diff --git a/src/assets/cloud-exclamation-mark.svg b/src/assets/icons/cloud-exclamation-mark.svg similarity index 100% rename from src/assets/cloud-exclamation-mark.svg rename to src/assets/icons/cloud-exclamation-mark.svg diff --git a/src/assets/cloud-slash.svg b/src/assets/icons/cloud-slash.svg similarity index 100% rename from src/assets/cloud-slash.svg rename to src/assets/icons/cloud-slash.svg diff --git a/src/assets/cloud.svg b/src/assets/icons/cloud.svg similarity index 100% rename from src/assets/cloud.svg rename to src/assets/icons/cloud.svg diff --git a/src/assets/forwards.svg b/src/assets/icons/forwards.svg similarity index 100% rename from src/assets/forwards.svg rename to src/assets/icons/forwards.svg diff --git a/src/assets/gear.svg b/src/assets/icons/gear.svg similarity index 100% rename from src/assets/gear.svg rename to src/assets/icons/gear.svg diff --git a/src/assets/internal-drive.svg b/src/assets/icons/internal-drive.svg similarity index 100% rename from src/assets/internal-drive.svg rename to src/assets/icons/internal-drive.svg diff --git a/src/assets/magnifying-glass.svg b/src/assets/icons/magnifying-glass.svg similarity index 100% rename from src/assets/magnifying-glass.svg rename to src/assets/icons/magnifying-glass.svg diff --git a/src/assets/note-list.svg b/src/assets/icons/note-list.svg similarity index 100% rename from src/assets/note-list.svg rename to src/assets/icons/note-list.svg diff --git a/src/assets/notes.svg b/src/assets/icons/notes.svg similarity index 100% rename from src/assets/notes.svg rename to src/assets/icons/notes.svg diff --git a/src/assets/pause.svg b/src/assets/icons/pause.svg similarity index 100% rename from src/assets/pause.svg rename to src/assets/icons/pause.svg diff --git a/src/assets/play-pause-fill.svg b/src/assets/icons/play-pause-fill.svg similarity index 100% rename from src/assets/play-pause-fill.svg rename to src/assets/icons/play-pause-fill.svg diff --git a/src/assets/play-pause.svg b/src/assets/icons/play-pause.svg similarity index 100% rename from src/assets/play-pause.svg rename to src/assets/icons/play-pause.svg diff --git a/src/assets/play.svg b/src/assets/icons/play.svg similarity index 100% rename from src/assets/play.svg rename to src/assets/icons/play.svg diff --git a/src/assets/queue-append.svg b/src/assets/icons/queue-append.svg similarity index 100% rename from src/assets/queue-append.svg rename to src/assets/icons/queue-append.svg diff --git a/src/assets/queue-prepend.svg b/src/assets/icons/queue-prepend.svg similarity index 100% rename from src/assets/queue-prepend.svg rename to src/assets/icons/queue-prepend.svg diff --git a/src/assets/queue.svg b/src/assets/icons/queue.svg similarity index 100% rename from src/assets/queue.svg rename to src/assets/icons/queue.svg diff --git a/src/assets/repeat.svg b/src/assets/icons/repeat.svg similarity index 100% rename from src/assets/repeat.svg rename to src/assets/icons/repeat.svg diff --git a/src/assets/shuffle.svg b/src/assets/icons/shuffle.svg similarity index 100% rename from src/assets/shuffle.svg rename to src/assets/icons/shuffle.svg diff --git a/src/assets/trash.svg b/src/assets/icons/trash.svg similarity index 100% rename from src/assets/trash.svg rename to src/assets/icons/trash.svg diff --git a/src/components/DownloadIcon.tsx b/src/components/DownloadIcon.tsx index 6dce0e5..a45d67e 100644 --- a/src/components/DownloadIcon.tsx +++ b/src/components/DownloadIcon.tsx @@ -1,9 +1,9 @@ import React, { useEffect, useMemo, useRef } from 'react'; import { useTypedSelector } from 'store'; -import CloudIcon from 'assets/cloud.svg'; -import CloudDownArrow from 'assets/cloud-down-arrow.svg'; -import CloudExclamationMarkIcon from 'assets/cloud-exclamation-mark.svg'; -import InternalDriveIcon from 'assets/internal-drive.svg'; +import CloudIcon from 'assets/icons/cloud.svg'; +import CloudDownArrow from 'assets/icons/cloud-down-arrow.svg'; +import CloudExclamationMarkIcon from 'assets/icons/cloud-exclamation-mark.svg'; +import InternalDriveIcon from 'assets/icons/internal-drive.svg'; import useDefaultStyles from './Colors'; import { EntityId } from '@reduxjs/toolkit'; import Svg, { Circle, CircleProps } from 'react-native-svg'; diff --git a/src/components/ListButton.tsx b/src/components/ListButton.tsx index d8bad9f..4fdf655 100644 --- a/src/components/ListButton.tsx +++ b/src/components/ListButton.tsx @@ -1,6 +1,6 @@ import React, { useCallback, useState } from 'react'; import { TouchableOpacityProps } from 'react-native'; -import ChevronRight from 'assets/chevron-right.svg'; +import ChevronRight from 'assets/icons/chevron-right.svg'; import styled, { css } from 'styled-components/native'; import { THEME_COLOR } from 'CONSTANTS'; import useDefaultStyles from './Colors'; diff --git a/src/screens/Downloads/index.tsx b/src/screens/Downloads/index.tsx index 9b7c171..7d7985f 100644 --- a/src/screens/Downloads/index.tsx +++ b/src/screens/Downloads/index.tsx @@ -5,8 +5,8 @@ import { FlatList } from 'react-native-gesture-handler'; import { SafeAreaView } from 'react-native-safe-area-context'; import { useTypedSelector } from 'store'; import formatBytes from 'utility/formatBytes'; -import TrashIcon from 'assets/trash.svg'; -import ArrowClockwise from 'assets/arrow-clockwise.svg'; +import TrashIcon from 'assets/icons/trash.svg'; +import ArrowClockwise from 'assets/icons/arrow-clockwise.svg'; import { THEME_COLOR } from 'CONSTANTS'; import { useDispatch } from 'react-redux'; import { EntityId } from '@reduxjs/toolkit'; diff --git a/src/screens/Music/stacks/components/TrackListView.tsx b/src/screens/Music/stacks/components/TrackListView.tsx index e6377b9..a3f5238 100644 --- a/src/screens/Music/stacks/components/TrackListView.tsx +++ b/src/screens/Music/stacks/components/TrackListView.tsx @@ -9,16 +9,16 @@ import { THEME_COLOR } from 'CONSTANTS'; import TouchableHandler from 'components/TouchableHandler'; import useCurrentTrack from 'utility/useCurrentTrack'; import TrackPlayer from 'react-native-track-player'; -import Play from 'assets/play.svg'; -import Shuffle from 'assets/shuffle.svg'; +import Play from 'assets/icons/play.svg'; +import Shuffle from 'assets/icons/shuffle.svg'; import useDefaultStyles from 'components/Colors'; import usePlayTracks from 'utility/usePlayTracks'; import { EntityId } from '@reduxjs/toolkit'; import { WrappableButtonRow, WrappableButton } from 'components/WrappableButtonRow'; import { MusicNavigationProp } from 'screens/Music/types'; import DownloadIcon from 'components/DownloadIcon'; -import CloudDownArrow from 'assets/cloud-down-arrow.svg'; -import Trash from 'assets/trash.svg'; +import CloudDownArrow from 'assets/icons/cloud-down-arrow.svg'; +import Trash from 'assets/icons/trash.svg'; import { useDispatch } from 'react-redux'; import { queueTrackForDownload, removeDownloadedTrack } from 'store/downloads/actions'; import { selectDownloadedTracks } from 'store/downloads/selectors'; diff --git a/src/screens/Onboarding/index.tsx b/src/screens/Onboarding/index.tsx index ba591fe..263369e 100644 --- a/src/screens/Onboarding/index.tsx +++ b/src/screens/Onboarding/index.tsx @@ -56,7 +56,7 @@ function Onboarding() { return ( - + {t('onboarding-welcome')} diff --git a/src/screens/Player/components/ConnectionNotice.tsx b/src/screens/Player/components/ConnectionNotice.tsx index 6ab81b0..8d160eb 100644 --- a/src/screens/Player/components/ConnectionNotice.tsx +++ b/src/screens/Player/components/ConnectionNotice.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { useNetInfo } from '@react-native-community/netinfo'; import { THEME_COLOR } from 'CONSTANTS'; import styled from 'styled-components/native'; -import CloudSlash from 'assets/cloud-slash.svg'; +import CloudSlash from 'assets/icons/cloud-slash.svg'; import { Text } from 'react-native'; import { t } from '@localisation'; import useDefaultStyles from 'components/Colors'; diff --git a/src/screens/Player/components/MediaControls.tsx b/src/screens/Player/components/MediaControls.tsx index 7b16a68..15afb4d 100644 --- a/src/screens/Player/components/MediaControls.tsx +++ b/src/screens/Player/components/MediaControls.tsx @@ -3,12 +3,12 @@ import TrackPlayer, { Event, State, usePlaybackState, useTrackPlayerEvents } fro import { TouchableOpacity, useColorScheme } from 'react-native'; import styled from 'styled-components/native'; import { useHasNextQueue, useHasPreviousQueue } from 'utility/useQueue'; -import ForwardIcon from 'assets/forwards.svg'; -import BackwardIcon from 'assets/backwards.svg'; -import PlayIcon from 'assets/play.svg'; -import PauseIcon from 'assets/pause.svg'; -import RepeatIcon from 'assets/repeat.svg'; -// import ShuffleIcon from 'assets/shuffle.svg'; +import ForwardIcon from 'assets/icons/forwards.svg'; +import BackwardIcon from 'assets/icons/backwards.svg'; +import PlayIcon from 'assets/icons/play.svg'; +import PauseIcon from 'assets/icons/pause.svg'; +import RepeatIcon from 'assets/icons/repeat.svg'; +// import ShuffleIcon from 'assets/icons/shuffle.svg'; import { THEME_COLOR } from 'CONSTANTS'; import Casting from './Casting'; diff --git a/src/screens/Settings/components/Sentry.tsx b/src/screens/Settings/components/Sentry.tsx index 0efb3e3..68d7fc0 100644 --- a/src/screens/Settings/components/Sentry.tsx +++ b/src/screens/Settings/components/Sentry.tsx @@ -4,7 +4,7 @@ import { Switch } from 'react-native-gesture-handler'; import styled, { css } from 'styled-components/native'; import { isSentryEnabled, setSentryStatus } from 'utility/Sentry'; import Accordion from 'react-native-collapsible/Accordion'; -import ChevronIcon from 'assets/chevron-right.svg'; +import ChevronIcon from 'assets/icons/chevron-right.svg'; import { THEME_COLOR } from 'CONSTANTS'; import useDefaultStyles, { DefaultStylesProvider } from 'components/Colors'; import { t } from '@localisation'; diff --git a/src/screens/index.tsx b/src/screens/index.tsx index cdbf6bd..bd3fcf1 100644 --- a/src/screens/index.tsx +++ b/src/screens/index.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { createBottomTabNavigator, BottomTabNavigationProp, BottomTabNavigationOptions } from '@react-navigation/bottom-tabs'; +import { createBottomTabNavigator, BottomTabNavigationProp } from '@react-navigation/bottom-tabs'; import { createStackNavigator, StackNavigationProp } from '@react-navigation/stack'; import { CompositeNavigationProp } from '@react-navigation/native'; import { THEME_COLOR } from 'CONSTANTS'; @@ -12,10 +12,10 @@ import Onboarding from './Onboarding'; import TrackPopupMenu from './modals/TrackPopupMenu'; import SetJellyfinServer from './modals/SetJellyfinServer'; -import SearchIcon from 'assets/magnifying-glass.svg'; -import NotesIcon from 'assets/notes.svg'; -import GearIcon from 'assets/gear.svg'; -import DownloadsIcon from 'assets/arrow-down-to-line.svg'; +import SearchIcon from 'assets/icons/magnifying-glass.svg'; +import NotesIcon from 'assets/icons/notes.svg'; +import GearIcon from 'assets/icons/gear.svg'; +import DownloadsIcon from 'assets/icons/arrow-down-to-line.svg'; import { useTypedSelector } from 'store'; import { ModalStackParams } from './types'; import { t } from '@localisation'; diff --git a/src/screens/modals/TrackPopupMenu.tsx b/src/screens/modals/TrackPopupMenu.tsx index 275dd87..e0a1788 100644 --- a/src/screens/modals/TrackPopupMenu.tsx +++ b/src/screens/modals/TrackPopupMenu.tsx @@ -6,10 +6,10 @@ import { useTypedSelector } from 'store'; import { SubHeader } from 'components/Typography'; import styled from 'styled-components/native'; import { t } from '@localisation'; -import PlayIcon from 'assets/play.svg'; -import DownloadIcon from 'assets/cloud-down-arrow.svg'; -import QueueAppendIcon from 'assets/queue-append.svg'; -import TrashIcon from 'assets/trash.svg'; +import PlayIcon from 'assets/icons/play.svg'; +import DownloadIcon from 'assets/icons/cloud-down-arrow.svg'; +import QueueAppendIcon from 'assets/icons/queue-append.svg'; +import TrashIcon from 'assets/icons/trash.svg'; import Text from 'components/Text'; import { WrappableButton, WrappableButtonRow } from 'components/WrappableButtonRow'; import { useDispatch } from 'react-redux';