Skip to content

Commit

Permalink
Ajustes na versão 1.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
gianramalho committed Jan 21, 2025
1 parent 64a35da commit ddf17cb
Show file tree
Hide file tree
Showing 10 changed files with 1,287 additions and 657 deletions.
2 changes: 1 addition & 1 deletion app.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"supportsTablet": true
},
"android": {
"versionCode": 3,
"versionCode": 4,
"adaptiveIcon": {
"foregroundImage": "./assets/adaptive-icon.png",
"backgroundColor": "#ffffff"
Expand Down
1,899 changes: 1,259 additions & 640 deletions package-lock.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@
"@react-native-async-storage/async-storage": "1.23.1",
"@react-native-picker/picker": "2.7.5",
"@react-navigation/drawer": "^6.7.2",
"expo": "~51.0.34",
"expo": "~51.0.39",
"expo-constants": "~16.0.2",
"expo-keep-awake": "~13.0.2",
"expo-linking": "~6.3.1",
"expo-router": "~3.5.23",
"expo-router": "~3.5.24",
"expo-sqlite": "~14.0.6",
"expo-status-bar": "~1.12.1",
"nativewind": "^4.0.36",
Expand Down
2 changes: 1 addition & 1 deletion src/app/(drawer)/books.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ export default function BooksScreen() {
<View className="flex flex-col gap-2">
{filteredBooks.map(book => (
<BookItem
key={book.abbrev}
key={book.id}
book={book}
/>
))}
Expand Down
9 changes: 4 additions & 5 deletions src/app/book/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ export default function BookDetail() {
const versesServices = VersesServices()
const params = useLocalSearchParams<{ version: any, abbrev: any, chapter: any, number: any }>();
const version = params.version;
const abbrev = params.abbrev;
const abbrev = Number(params.abbrev);
const chapter = params.chapter;
const number = params.number;
const { colorScheme } = useColorScheme();
const [selectedVersion, setSelectedVersion] = useState<string>(version || 'nvi');
const [selectedChapter, setSelectedChapter] = useState<number | undefined>(chapter ? parseInt(chapter) : undefined);
const [selectedNumber, setSelectedNumber] = useState<number | undefined>(number ? parseInt(number) : undefined);
const [selectedBook, setSelectedBook] = useState<string>(abbrev || '');
const [selectedBook, setSelectedBook] = useState<number>(abbrev || 0);
const [books, setBooks] = useState<booksResponse[]>([]);
const flatListRef = useRef<FlatList<Verse>>(null);
const { setIsLoading } = useLoading();
Expand All @@ -38,7 +38,6 @@ export default function BookDetail() {
const iconColor = colorScheme === "dark" ? "#fff" : "#000";
const [selectedVerses, setSelectedVerses] = useState<number[]>([]);
const [modalVisible, setModalVisible] = useState<boolean>(false);
const colorsHighlight = ['bg-blue-400', 'bg-green-400', 'bg-red-400', 'bg-purple-400'];
const [note, setNote] = useState<string>('');
const [verse, setVerse] = useState<{ id: number, version: number, testament: number, book: number, chapter: number, verse: number, text: string } | null>(null);
const colorMapping: Record<'bg-blue-400' | 'bg-green-400' | 'bg-red-400' | 'bg-purple-400', string> = {
Expand Down Expand Up @@ -228,7 +227,7 @@ export default function BookDetail() {
}
};

const handleBookChange = (itemValue: string) => {
const handleBookChange = (itemValue: number) => {
setSelectedBook(itemValue);
setSelectedChapter(undefined);
setSelectedNumber(undefined);
Expand Down Expand Up @@ -277,7 +276,7 @@ export default function BookDetail() {
style={{ color: iconColor, width: '100%' }}
dropdownIconColor={iconColor}>
{books.map((book) => (
<Picker.Item key={book.abbrev} label={book.name} value={book.abbrev} />
<Picker.Item key={book.id} label={book.name} value={book.id} />
))}
</Picker>
</View>
Expand Down
3 changes: 2 additions & 1 deletion src/components/bookItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { View, Text, TouchableOpacity } from 'react-native';

export type BookProps = {
book: {
id: string,
abbrev: string,
chapters: string,
name: string,
Expand All @@ -21,7 +22,7 @@ export function BookItem({ book }: BookProps) {

return (
<TouchableOpacity className="flex-1"
onPress={() => navigateTo(book.abbrev)}>
onPress={() => navigateTo(book.id)}>
<View className={`rounded-lg p-3 dark:bg-slate-800 bg-white dark:border dark:border-blue-100 dark:shadow-none shadow-lg ${book.testament === 'NT' ? 'shadow-green-200' : 'shadow-blue-200'}`}>
<View className="flex flex-row justify-between">
<Text className="text-lg font-bold dark:text-white" numberOfLines={1} lineBreakMode="tail">
Expand Down
3 changes: 2 additions & 1 deletion src/components/verseItemSearch.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ export type VerseItemProps = {
pt: string,
en: string,
},
id: string,
author: string,
chapters: number,
group: string,
Expand All @@ -32,7 +33,7 @@ export function VerseItemSearch({ verse, version }: VerseItemProps & any) {

return (
<TouchableOpacity className="flex-1 px-6 pb-6"
onPress={() => navigateTo(version, verse.book.abbrev, verse.chapter, verse.number)}>
onPress={() => navigateTo(version, verse.book.id, verse.chapter, verse.number)}>
<View className="p-5 bg-white dark:bg-slate-800 rounded-lg dark:border dark:border-blue-100">
<Text className="text-xl font-bold mb-1 dark:text-white">{verse.book.name} {verse.chapter}:{verse.number}</Text>
<Text className="text-lg dark:text-white">{verse.text}</Text>
Expand Down
17 changes: 11 additions & 6 deletions src/services/booksServices.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { useSQLiteContext } from "expo-sqlite";
import { ChapterData, booksResponse } from "./services.types";

interface QueryResult {
book_id: string;
book_abbrev: string;
book_name: string;
book_version: string;
Expand All @@ -21,6 +22,7 @@ export function BooksServices() {
try {
const query = `
SELECT
books.id,
books.abbrev,
books.name,
testaments.abbrev AS testament,
Expand All @@ -40,22 +42,23 @@ export function BooksServices() {
}
}

async function showBookDetails(abbrev: string): Promise<booksResponse | null> {
async function showBookDetails(idBook: number): Promise<booksResponse | null> {
try {
const query = `
SELECT
books.id,
books.abbrev,
books.name,
testaments.abbrev AS testament,
COUNT(DISTINCT verses.chapter) AS chapters
FROM books
JOIN testaments ON books.testament = testaments.id
JOIN verses ON verses.book = books.id
WHERE books.abbrev = ?
WHERE books.id = ?
GROUP BY books.id, testaments.abbrev;
`;

const response = await database.getFirstAsync<booksResponse>(query, [abbrev]);
const response = await database.getFirstAsync<booksResponse>(query, [idBook]);

return response || null;

Expand All @@ -65,10 +68,11 @@ export function BooksServices() {
}
}

async function showChapterDetails(version: string, abbrev: string, chapter: number): Promise<ChapterData | null> {
async function showChapterDetails(version: string, idBook: number, chapter: number): Promise<ChapterData | null> {
try {
const query = `
SELECT
books.id AS book_id,
books.abbrev AS book_abbrev,
books.name AS book_name,
verses.version AS book_version,
Expand All @@ -84,11 +88,11 @@ export function BooksServices() {
JOIN versions ON verses.version = versions.id
LEFT JOIN actions ON verses.id = actions.verse_id
WHERE versions.abbrev = ?
AND books.abbrev = ?
AND books.id = ?
AND verses.chapter = ?;
`;

const response = await database.getAllAsync<QueryResult>(query, [version, abbrev, chapter]);
const response = await database.getAllAsync<QueryResult>(query, [version, idBook, chapter]);

const verses = response.map(row => ({
id: row.verse_id,
Expand All @@ -101,6 +105,7 @@ export function BooksServices() {

return {
book: {
id: response[0].book_id,
abbrev: response[0].book_abbrev,
name: response[0].book_name,
version: response[0].book_version
Expand Down
2 changes: 2 additions & 0 deletions src/services/services.types.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
export type booksResponse = {
id: string,
abbrev: string,
chapters: string,
name: string,
Expand Down Expand Up @@ -50,6 +51,7 @@ interface Verse {

interface ChapterData {
book: {
id: string;
abbrev: string;
name: string;
version: string;
Expand Down
3 changes: 3 additions & 0 deletions src/services/versesServices.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { useSQLiteContext } from "expo-sqlite";

type VerseSearchByWordResponse = {
id: number;
book_id: string;
book_abbrev: string;
book_name: string;
book_version: string;
Expand All @@ -26,6 +27,7 @@ export function VersesServices() {
)
SELECT
verses_fts.id AS id,
books.id AS book_id,
books.abbrev AS book_abbrev,
books.name AS book_name,
verses_fts.version AS book_version,
Expand Down Expand Up @@ -56,6 +58,7 @@ export function VersesServices() {
verses: response.map((verse) => ({
id: verse.id,
book: {
id: verse.book_id,
abbrev: verse.book_abbrev,
name: verse.book_name,
},
Expand Down

0 comments on commit ddf17cb

Please sign in to comment.