-
-
Save burakorkmez/9cab7b50e5ce0a3819e9d193e175d2ba to your computer and use it in GitHub Desktop.
| // FOREST | |
| const COLORS = { | |
| primary: "#4CAF50", | |
| textPrimary: "#2e5a2e", | |
| textSecondary: "#688f68", | |
| textDark: "#1b361b", | |
| placeholderText: "#767676", | |
| background: "#e8f5e9", | |
| cardBackground: "#f1f8f2", | |
| inputBackground: "#f4faf5", | |
| border: "#c8e6c9", | |
| white: "#ffffff", | |
| black: "#000000", | |
| }; | |
| // RETRO | |
| /* | |
| const COLORS = { | |
| primary: "#e17055", | |
| textPrimary: "#784e2d", | |
| textSecondary: "#a58e7c", | |
| textDark: "#50372a", | |
| placeholderText: "#767676", | |
| background: "#ede1d1", | |
| cardBackground: "#faf5eb", | |
| inputBackground: "#f7f2ea", | |
| border: "#e2d6c1", | |
| white: "#ffffff", | |
| black: "#000000", | |
| }; | |
| */ | |
| // OCEAN | |
| /* | |
| const COLORS = { | |
| primary: "#1976D2", | |
| textPrimary: "#1a4971", | |
| textSecondary: "#6d93b8", | |
| textDark: "#0d2b43", | |
| placeholderText: "#767676", | |
| background: "#e3f2fd", | |
| cardBackground: "#f5f9ff", | |
| inputBackground: "#f0f8ff", | |
| border: "#bbdefb", | |
| white: "#ffffff", | |
| black: "#000000", | |
| }; | |
| */ | |
| // BLOSSOM | |
| /* | |
| const COLORS = { | |
| primary: "#EC407A", | |
| textPrimary: "#7d2150", | |
| textSecondary: "#b06a8f", | |
| textDark: "#5a1836", | |
| placeholderText: "#767676", | |
| background: "#fce4ec", | |
| cardBackground: "#fff5f8", | |
| inputBackground: "#fef8fa", | |
| border: "#f8bbd0", | |
| white: "#ffffff", | |
| black: "#000000", | |
| }; | |
| */ | |
| export default COLORS; |
| // styles/create.styles.js | |
| import { StyleSheet } from "react-native"; | |
| import COLORS from "../../constants/colors"; | |
| const styles = StyleSheet.create({ | |
| container: { | |
| flexGrow: 1, | |
| backgroundColor: COLORS.background, | |
| padding: 16, | |
| }, | |
| scrollViewStyle: { | |
| flex: 1, | |
| backgroundColor: COLORS.background, | |
| }, | |
| card: { | |
| backgroundColor: COLORS.cardBackground, | |
| borderRadius: 16, | |
| padding: 20, | |
| marginVertical: 16, | |
| shadowColor: COLORS.black, | |
| shadowOffset: { width: 0, height: 2 }, | |
| shadowOpacity: 0.1, | |
| shadowRadius: 8, | |
| elevation: 3, | |
| borderWidth: 1, | |
| borderColor: COLORS.border, | |
| }, | |
| header: { | |
| alignItems: "center", | |
| marginBottom: 24, | |
| }, | |
| title: { | |
| fontSize: 24, | |
| fontWeight: "700", | |
| color: COLORS.textPrimary, | |
| marginBottom: 8, | |
| }, | |
| subtitle: { | |
| fontSize: 14, | |
| color: COLORS.textSecondary, | |
| textAlign: "center", | |
| }, | |
| form: { | |
| marginBottom: 16, | |
| }, | |
| formGroup: { | |
| marginBottom: 20, | |
| }, | |
| label: { | |
| fontSize: 14, | |
| marginBottom: 8, | |
| color: COLORS.textPrimary, | |
| fontWeight: "500", | |
| }, | |
| inputContainer: { | |
| flexDirection: "row", | |
| alignItems: "center", | |
| backgroundColor: COLORS.inputBackground, | |
| borderRadius: 12, | |
| borderWidth: 1, | |
| borderColor: COLORS.border, | |
| paddingHorizontal: 12, | |
| }, | |
| inputIcon: { | |
| marginRight: 10, | |
| }, | |
| input: { | |
| flex: 1, | |
| height: 48, | |
| color: COLORS.textDark, | |
| }, | |
| textArea: { | |
| backgroundColor: COLORS.inputBackground, | |
| borderRadius: 12, | |
| borderWidth: 1, | |
| borderColor: COLORS.border, | |
| padding: 12, | |
| height: 100, | |
| color: COLORS.textDark, | |
| }, | |
| ratingContainer: { | |
| flexDirection: "row", | |
| justifyContent: "space-around", | |
| alignItems: "center", | |
| backgroundColor: COLORS.inputBackground, | |
| borderRadius: 12, | |
| borderWidth: 1, | |
| borderColor: COLORS.border, | |
| padding: 8, | |
| }, | |
| starButton: { | |
| padding: 8, | |
| }, | |
| imagePicker: { | |
| width: "100%", | |
| height: 200, | |
| backgroundColor: COLORS.inputBackground, | |
| borderRadius: 12, | |
| borderWidth: 1, | |
| borderColor: COLORS.border, | |
| overflow: "hidden", | |
| }, | |
| previewImage: { | |
| width: "100%", | |
| height: "100%", | |
| }, | |
| placeholderContainer: { | |
| width: "100%", | |
| height: "100%", | |
| justifyContent: "center", | |
| alignItems: "center", | |
| }, | |
| placeholderText: { | |
| color: COLORS.textSecondary, | |
| marginTop: 8, | |
| }, | |
| button: { | |
| backgroundColor: COLORS.primary, | |
| borderRadius: 12, | |
| height: 50, | |
| flexDirection: "row", | |
| justifyContent: "center", | |
| alignItems: "center", | |
| marginTop: 16, | |
| shadowColor: COLORS.black, | |
| shadowOffset: { width: 0, height: 2 }, | |
| shadowOpacity: 0.1, | |
| shadowRadius: 4, | |
| elevation: 2, | |
| }, | |
| buttonText: { | |
| color: COLORS.white, | |
| fontSize: 16, | |
| fontWeight: "600", | |
| }, | |
| buttonIcon: { | |
| marginRight: 8, | |
| }, | |
| }); | |
| export default styles; |
| // styles/home.styles.js | |
| import { StyleSheet } from "react-native"; | |
| import COLORS from "../../constants/colors"; | |
| const styles = StyleSheet.create({ | |
| container: { | |
| flex: 1, | |
| backgroundColor: COLORS.background, | |
| }, | |
| loadingContainer: { | |
| flex: 1, | |
| justifyContent: "center", | |
| alignItems: "center", | |
| backgroundColor: COLORS.background, | |
| }, | |
| listContainer: { | |
| padding: 16, | |
| paddingBottom: 80, | |
| }, | |
| header: { | |
| marginBottom: 20, | |
| alignItems: "center", | |
| }, | |
| headerTitle: { | |
| fontSize: 24, | |
| fontFamily: "JetBrainsMono-Medium", | |
| letterSpacing: 0.5, | |
| color: COLORS.primary, | |
| marginBottom: 8, | |
| }, | |
| headerSubtitle: { | |
| fontSize: 14, | |
| color: COLORS.textSecondary, | |
| textAlign: "center", | |
| }, | |
| bookCard: { | |
| backgroundColor: COLORS.cardBackground, | |
| borderRadius: 16, | |
| marginBottom: 20, | |
| padding: 16, | |
| shadowColor: COLORS.black, | |
| shadowOffset: { width: 0, height: 2 }, | |
| shadowOpacity: 0.1, | |
| shadowRadius: 8, | |
| elevation: 3, | |
| borderWidth: 1, | |
| borderColor: COLORS.border, | |
| }, | |
| bookHeader: { | |
| flexDirection: "row", | |
| justifyContent: "space-between", | |
| alignItems: "center", | |
| marginBottom: 12, | |
| }, | |
| userInfo: { | |
| flexDirection: "row", | |
| alignItems: "center", | |
| }, | |
| avatar: { | |
| width: 36, | |
| height: 36, | |
| borderRadius: 18, | |
| marginRight: 10, | |
| }, | |
| username: { | |
| fontSize: 15, | |
| fontWeight: "600", | |
| color: COLORS.textPrimary, | |
| }, | |
| bookImageContainer: { | |
| width: "100%", | |
| height: 200, | |
| borderRadius: 12, | |
| overflow: "hidden", | |
| marginBottom: 12, | |
| backgroundColor: COLORS.border, | |
| }, | |
| bookImage: { | |
| width: "100%", | |
| height: "100%", | |
| }, | |
| bookDetails: { | |
| padding: 4, | |
| }, | |
| bookTitle: { | |
| fontSize: 18, | |
| fontWeight: "700", | |
| color: COLORS.textPrimary, | |
| marginBottom: 6, | |
| }, | |
| ratingContainer: { | |
| flexDirection: "row", | |
| marginBottom: 8, | |
| }, | |
| caption: { | |
| fontSize: 14, | |
| color: COLORS.textDark, | |
| marginBottom: 8, | |
| lineHeight: 20, | |
| }, | |
| date: { | |
| fontSize: 12, | |
| color: COLORS.textSecondary, | |
| }, | |
| emptyContainer: { | |
| alignItems: "center", | |
| justifyContent: "center", | |
| padding: 40, | |
| marginTop: 40, | |
| }, | |
| emptyText: { | |
| fontSize: 18, | |
| fontWeight: "600", | |
| color: COLORS.textPrimary, | |
| marginTop: 16, | |
| marginBottom: 8, | |
| }, | |
| emptySubtext: { | |
| fontSize: 14, | |
| color: COLORS.textSecondary, | |
| textAlign: "center", | |
| }, | |
| footerLoader: { | |
| marginVertical: 20, | |
| }, | |
| }); | |
| export default styles; |
| // styles/login.styles.js | |
| import { StyleSheet, Dimensions } from "react-native"; | |
| import COLORS from "../../constants/colors"; | |
| const { width } = Dimensions.get("window"); | |
| const styles = StyleSheet.create({ | |
| container: { | |
| flexGrow: 1, | |
| backgroundColor: COLORS.background, | |
| padding: 20, | |
| justifyContent: "center", | |
| }, | |
| scrollViewStyle: { | |
| flex: 1, | |
| backgroundColor: COLORS.background, | |
| }, | |
| topIllustration: { | |
| alignItems: "center", | |
| width: "100%", | |
| }, | |
| illustrationImage: { | |
| width: width * 0.75, | |
| height: width * 0.75, | |
| }, | |
| card: { | |
| backgroundColor: COLORS.cardBackground, | |
| borderRadius: 16, | |
| padding: 24, | |
| shadowColor: COLORS.black, | |
| shadowOffset: { width: 0, height: 2 }, | |
| shadowOpacity: 0.1, | |
| shadowRadius: 8, | |
| elevation: 4, | |
| borderWidth: 2, | |
| borderColor: COLORS.border, | |
| marginTop: -24, | |
| }, | |
| header: { | |
| alignItems: "center", | |
| marginBottom: 24, | |
| }, | |
| title: { | |
| fontSize: 32, | |
| fontWeight: "700", | |
| color: COLORS.textPrimary, | |
| marginBottom: 8, | |
| }, | |
| subtitle: { | |
| fontSize: 16, | |
| color: COLORS.textSecondary, | |
| textAlign: "center", | |
| }, | |
| formContainer: { | |
| marginBottom: 16, | |
| }, | |
| inputGroup: { | |
| marginBottom: 20, | |
| }, | |
| label: { | |
| fontSize: 14, | |
| marginBottom: 8, | |
| color: COLORS.textPrimary, | |
| fontWeight: "500", | |
| }, | |
| inputContainer: { | |
| flexDirection: "row", | |
| alignItems: "center", | |
| backgroundColor: COLORS.inputBackground, | |
| borderRadius: 12, | |
| borderWidth: 1, | |
| borderColor: COLORS.border, | |
| paddingHorizontal: 12, | |
| }, | |
| inputIcon: { | |
| marginRight: 10, | |
| }, | |
| input: { | |
| flex: 1, | |
| height: 48, | |
| color: COLORS.textDark, | |
| }, | |
| eyeIcon: { | |
| padding: 8, | |
| }, | |
| button: { | |
| backgroundColor: COLORS.primary, | |
| borderRadius: 12, | |
| height: 50, | |
| justifyContent: "center", | |
| alignItems: "center", | |
| marginTop: 16, | |
| shadowColor: COLORS.black, | |
| shadowOffset: { width: 0, height: 2 }, | |
| shadowOpacity: 0.1, | |
| shadowRadius: 4, | |
| elevation: 2, | |
| }, | |
| buttonText: { | |
| color: COLORS.white, | |
| fontSize: 16, | |
| fontWeight: "600", | |
| }, | |
| footer: { | |
| flexDirection: "row", | |
| justifyContent: "center", | |
| marginTop: 24, | |
| }, | |
| footerText: { | |
| color: COLORS.textSecondary, | |
| marginRight: 5, | |
| }, | |
| link: { | |
| color: COLORS.primary, | |
| fontWeight: "600", | |
| }, | |
| }); | |
| export default styles; |
| // styles/profile.styles.js | |
| import { StyleSheet } from "react-native"; | |
| import COLORS from "../../constants/colors"; | |
| const styles = StyleSheet.create({ | |
| container: { | |
| flex: 1, | |
| backgroundColor: COLORS.background, | |
| padding: 16, | |
| paddingBottom: 0, | |
| }, | |
| loadingContainer: { | |
| flex: 1, | |
| justifyContent: "center", | |
| alignItems: "center", | |
| backgroundColor: COLORS.background, | |
| }, | |
| profileHeader: { | |
| flexDirection: "row", | |
| alignItems: "center", | |
| backgroundColor: COLORS.cardBackground, | |
| borderRadius: 16, | |
| padding: 16, | |
| marginBottom: 16, | |
| shadowColor: COLORS.black, | |
| shadowOffset: { width: 0, height: 2 }, | |
| shadowOpacity: 0.1, | |
| shadowRadius: 8, | |
| elevation: 3, | |
| borderWidth: 1, | |
| borderColor: COLORS.border, | |
| }, | |
| profileImage: { | |
| width: 80, | |
| height: 80, | |
| borderRadius: 40, | |
| marginRight: 16, | |
| }, | |
| profileInfo: { | |
| flex: 1, | |
| }, | |
| username: { | |
| fontSize: 20, | |
| fontWeight: "700", | |
| color: COLORS.textPrimary, | |
| marginBottom: 4, | |
| }, | |
| email: { | |
| fontSize: 14, | |
| color: COLORS.textSecondary, | |
| marginBottom: 4, | |
| }, | |
| memberSince: { | |
| fontSize: 12, | |
| color: COLORS.textSecondary, | |
| }, | |
| logoutButton: { | |
| backgroundColor: COLORS.primary, | |
| borderRadius: 12, | |
| padding: 12, | |
| flexDirection: "row", | |
| alignItems: "center", | |
| justifyContent: "center", | |
| marginBottom: 24, | |
| shadowColor: COLORS.black, | |
| shadowOffset: { width: 0, height: 2 }, | |
| shadowOpacity: 0.1, | |
| shadowRadius: 4, | |
| elevation: 2, | |
| }, | |
| logoutText: { | |
| color: COLORS.white, | |
| fontWeight: "600", | |
| marginLeft: 8, | |
| }, | |
| booksHeader: { | |
| flexDirection: "row", | |
| justifyContent: "space-between", | |
| alignItems: "center", | |
| marginBottom: 16, | |
| }, | |
| booksTitle: { | |
| fontSize: 18, | |
| fontWeight: "700", | |
| color: COLORS.textPrimary, | |
| }, | |
| booksCount: { | |
| fontSize: 14, | |
| color: COLORS.textSecondary, | |
| }, | |
| booksList: { | |
| paddingBottom: 20, | |
| }, | |
| bookItem: { | |
| flexDirection: "row", | |
| backgroundColor: COLORS.cardBackground, | |
| borderRadius: 12, | |
| padding: 12, | |
| marginBottom: 12, | |
| shadowColor: COLORS.black, | |
| shadowOffset: { width: 0, height: 1 }, | |
| shadowOpacity: 0.1, | |
| shadowRadius: 4, | |
| elevation: 2, | |
| borderWidth: 1, | |
| borderColor: COLORS.border, | |
| }, | |
| bookImage: { | |
| width: 70, | |
| height: 100, | |
| borderRadius: 8, | |
| marginRight: 12, | |
| }, | |
| bookInfo: { | |
| flex: 1, | |
| justifyContent: "space-between", | |
| }, | |
| bookTitle: { | |
| fontSize: 16, | |
| fontWeight: "600", | |
| color: COLORS.textPrimary, | |
| marginBottom: 4, | |
| }, | |
| ratingContainer: { | |
| flexDirection: "row", | |
| marginBottom: 4, | |
| }, | |
| bookCaption: { | |
| fontSize: 14, | |
| color: COLORS.textDark, | |
| marginBottom: 4, | |
| flex: 1, | |
| }, | |
| bookDate: { | |
| fontSize: 12, | |
| color: COLORS.textSecondary, | |
| }, | |
| deleteButton: { | |
| padding: 8, | |
| justifyContent: "center", | |
| }, | |
| emptyContainer: { | |
| alignItems: "center", | |
| justifyContent: "center", | |
| padding: 40, | |
| marginTop: 20, | |
| }, | |
| emptyText: { | |
| fontSize: 16, | |
| fontWeight: "600", | |
| color: COLORS.textPrimary, | |
| marginTop: 16, | |
| marginBottom: 20, | |
| textAlign: "center", | |
| }, | |
| addButton: { | |
| backgroundColor: COLORS.primary, | |
| borderRadius: 12, | |
| paddingVertical: 12, | |
| paddingHorizontal: 20, | |
| shadowColor: COLORS.black, | |
| shadowOffset: { width: 0, height: 2 }, | |
| shadowOpacity: 0.1, | |
| shadowRadius: 4, | |
| elevation: 2, | |
| }, | |
| addButtonText: { | |
| color: COLORS.white, | |
| fontWeight: "600", | |
| fontSize: 14, | |
| }, | |
| }); | |
| export default styles; |
| // styles/signup.styles.js | |
| import { StyleSheet } from "react-native"; | |
| import COLORS from "../../constants/colors"; | |
| const styles = StyleSheet.create({ | |
| container: { | |
| flexGrow: 1, | |
| backgroundColor: COLORS.background, | |
| padding: 20, | |
| justifyContent: "center", | |
| }, | |
| card: { | |
| backgroundColor: COLORS.cardBackground, | |
| borderRadius: 16, | |
| padding: 24, | |
| shadowColor: COLORS.black, | |
| shadowOffset: { width: 0, height: 2 }, | |
| shadowOpacity: 0.1, | |
| shadowRadius: 8, | |
| elevation: 4, | |
| borderWidth: 2, | |
| borderColor: COLORS.border, | |
| }, | |
| header: { | |
| alignItems: "center", | |
| marginBottom: 32, | |
| }, | |
| title: { | |
| fontSize: 32, | |
| fontWeight: "700", | |
| fontFamily: "JetBrainsMono-Medium", | |
| color: COLORS.primary, | |
| marginBottom: 8, | |
| }, | |
| subtitle: { | |
| fontSize: 16, | |
| color: COLORS.textSecondary, | |
| textAlign: "center", | |
| }, | |
| formContainer: { marginBottom: 16 }, | |
| inputGroup: { marginBottom: 20 }, | |
| label: { | |
| fontSize: 14, | |
| marginBottom: 8, | |
| color: COLORS.textPrimary, | |
| fontWeight: "500", | |
| }, | |
| inputContainer: { | |
| flexDirection: "row", | |
| alignItems: "center", | |
| backgroundColor: COLORS.inputBackground, | |
| borderRadius: 12, | |
| borderWidth: 1, | |
| borderColor: COLORS.border, | |
| paddingHorizontal: 12, | |
| }, | |
| inputIcon: { marginRight: 10 }, | |
| input: { | |
| flex: 1, | |
| height: 48, | |
| color: COLORS.textDark, | |
| }, | |
| eyeIcon: { padding: 8 }, | |
| button: { | |
| backgroundColor: COLORS.primary, | |
| borderRadius: 12, | |
| height: 50, | |
| justifyContent: "center", | |
| alignItems: "center", | |
| marginTop: 16, | |
| shadowColor: COLORS.black, | |
| shadowOffset: { width: 0, height: 2 }, | |
| shadowOpacity: 0.1, | |
| shadowRadius: 4, | |
| elevation: 2, | |
| }, | |
| buttonText: { | |
| color: COLORS.white, | |
| fontSize: 16, | |
| fontWeight: "600", | |
| }, | |
| footer: { | |
| flexDirection: "row", | |
| justifyContent: "center", | |
| marginTop: 24, | |
| }, | |
| footerText: { | |
| color: COLORS.textSecondary, | |
| marginRight: 5, | |
| }, | |
| link: { | |
| color: COLORS.primary, | |
| fontWeight: "600", | |
| }, | |
| }); | |
| export default styles; |
Good one brother
thanks
Well Done
thank you for such a nice and detailed course, learned a lot new things from this video
Thanks brother for putting a lots of effort for our learning.
Thanks from my heart broh.
where is all the source code ?
Thanks
Thanks alot
Thanks bro, i learned a lot with this tutorial
Thanks bro!
thank you for great way to explain, learned a lot from you, thank you!!
I followed every instruction you gave but yet the middleware/auth.Middleware.js was not found when i ran the backend.
I followed every instruction you gave but yet the middleware/auth.Middleware.js was not found when i ran the backend.
I think brother you missed out to give the extension name .js at the end , where you importing
@Naresh3102 Thank bro, i closed the space and it worked.
Thanks bro for this amazing content!
Please show us how to make APK file and post it in playstore. We need full guidance,
Thank you
i really love how you teach
Thanks bro for such amazing content, i appreciate
Merci beaucoup pour cette vidéo
Extremely happy to see everyone liked the project & the tutorial ✨ If you'd like to support and unlock the full source code check it out here: https://buy.polar.sh/polar_cl_rKSaUrOc4LNH8uRSCP7ypgOAJrwkNyFYWSGu11K7grq
Thank you ❤️
thanks bro
thank you for your tutorials love it ❤️ burakorkmez
great, but can you update this with nativewind, css is very old, in Europe modern uses nativewind or tailwind, it's much better for design
bonsoir
Great work bro I have gained a lot from this project
bro this is great,






@burakorkmez You didn't told us about EAS build for apk file. We need guide video related to that!