-
-
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; |
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,






Thanks bro!