Skip to content

Commit

Permalink
Add hosting (#38)
Browse files Browse the repository at this point in the history
  • Loading branch information
Temez1 authored Oct 7, 2021
1 parent f1040a8 commit 5678ee3
Show file tree
Hide file tree
Showing 12 changed files with 89 additions and 25 deletions.
5 changes: 5 additions & 0 deletions .firebaserc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"projects": {
"default": "mathflow-45dc3"
}
}
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ node_modules
.DS_Store
dist
*.local
.eslintcache
.eslintcache
.firebase
17 changes: 17 additions & 0 deletions firebase.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"hosting": {
"predeploy": "npm run build",
"public": "dist",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
}
4 changes: 4 additions & 0 deletions firestore.indexes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"indexes": [],
"fieldOverrides": []
}
9 changes: 9 additions & 0 deletions firestore.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId}/{documents=**}{
allow read, update, delete: if request.auth != null && request.auth.uid == userId;
allow create: if request.auth != null;
}
}
}
19 changes: 17 additions & 2 deletions src/ContextProviders/FirebaseComponentsProvider.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
import { getFirestore } from "firebase/firestore"
import { getAuth } from "firebase/auth"
import { AuthProvider, FirestoreProvider, useFirebaseApp } from "reactfire"
import {
AnalyticsProvider,
AuthProvider,
FirestoreProvider,
useFirebaseApp,
useInitPerformance,
} from "reactfire"
import { getAnalytics } from "firebase/analytics"

export interface FirebaseComponentsProviderProps {
children: React.ReactNode
Expand All @@ -13,10 +20,18 @@ export default ({ children }: FirebaseComponentsProviderProps) => {
auth.useDeviceLanguage()

const firestore = getFirestore(app)
const analytics = getAnalytics(app)

useInitPerformance(async (firebaseApp) => {
const { getPerformance } = await import("firebase/performance")
return getPerformance(firebaseApp)
})

return (
<AuthProvider sdk={auth}>
<FirestoreProvider sdk={firestore}>{children}</FirestoreProvider>
<FirestoreProvider sdk={firestore}>
<AnalyticsProvider sdk={analytics}>{children}</AnalyticsProvider>
</FirestoreProvider>
</AuthProvider>
)
}
2 changes: 1 addition & 1 deletion src/main.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import FirebaseComponentsProvider from "./ContextProviders/FirebaseComponentsPro

const firebaseConfig = {
apiKey: "AIzaSyAtDkJ25eyhVCp4cqnMSBEEQzj6GXKF9B4",
authDomain: "mathflow-45dc3.firebaseapp.com",
authDomain: "mathflow.app",
projectId: "mathflow-45dc3",
storageBucket: "mathflow-45dc3.appspot.com",
messagingSenderId: "917510915167",
Expand Down
4 changes: 2 additions & 2 deletions src/math/arithmetic/basicOperations/divide.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ export default (currentSkillLevel: SkillLevels): Challenge => {
min = 0
max = 10
} else if (currentSkillLevel === "skilled") {
min = -10
min = 0
max = 10
} else if (currentSkillLevel === "pro") {
min = -15
min = 0
max = 15
} else if (currentSkillLevel === "expert") {
min = -20
Expand Down
4 changes: 2 additions & 2 deletions src/math/arithmetic/basicOperations/multiply.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ export default (currentSkillLevel: SkillLevels): Challenge => {
min = 0
max = 10
} else if (currentSkillLevel === "skilled") {
min = -10
min = 0
max = 10
} else if (currentSkillLevel === "pro") {
min = -15
min = 0
max = 15
} else if (currentSkillLevel === "expert") {
min = -20
Expand Down
34 changes: 22 additions & 12 deletions src/math/arithmetic/basicOperations/substract.ts
Original file line number Diff line number Diff line change
@@ -1,26 +1,36 @@
import { getRandomInt } from "../../utils"

export default (currentSkillLevel: SkillLevels): Challenge => {
let min = 0
let max = 10
let minA = 0
let maxA = 5
let minB = 5
let maxB = 10

if (currentSkillLevel === "unknown" || currentSkillLevel === "beginner") {
min = 0
max = 10
minA = 5
maxA = 10
minB = 0
maxB = 5
} else if (currentSkillLevel === "skilled") {
min = -50
max = 50
minA = 25
maxA = 50
minB = 0
maxB = 25
} else if (currentSkillLevel === "pro") {
min = -100
max = 100
minA = 25
maxA = 50
minB = 0
maxB = 25
} else if (currentSkillLevel === "expert") {
min = -100
max = 100
minA = 25
maxA = 50
minB = 0
maxB = 25
}

const a = getRandomInt(min, max)
const a = getRandomInt(minA, maxA)

const b = getRandomInt(min, max)
const b = getRandomInt(minB, maxB)

return {
description: "Ratkaise",
Expand Down
8 changes: 4 additions & 4 deletions src/math/arithmetic/exponentiationAndRoot/exponentiation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ export default (currentSkillLevel: SkillLevels): Challenge => {
exponentMin = 1
exponentMax = 2
} else if (currentSkillLevel === "skilled") {
baseMin = -5
baseMin = 0
baseMax = 5
exponentMin = 0
exponentMax = 3
} else if (currentSkillLevel === "pro") {
baseMin = -6
baseMax = 6
exponentMin = -3
baseMin = 0
baseMax = 5
exponentMin = 0
exponentMax = 3
} else if (currentSkillLevel === "expert") {
baseMin = -10
Expand Down
5 changes: 4 additions & 1 deletion src/views/learningSession/LearningSession.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ import {
} from "@chakra-ui/react"
import { useEffect, useState, useRef } from "react"
import { useNavigate, useLocation } from "react-router-dom"
import { useFirestore } from "reactfire"
import { useAnalytics, useFirestore } from "reactfire"
import { logEvent } from "firebase/analytics"
import MathDisplay from "../../sharedComponents/MathDisplay"
import MathField from "../../sharedComponents/MathField"
import recommendationAlgorithm, {
Expand Down Expand Up @@ -54,6 +55,7 @@ export default () => {
const { mode, categoryKey, topicKey, subTopicKey } =
(state as SubTopicViewNavigateState) || {}

const analytics = useAnalytics()
const firestore = useFirestore()
const user = useCurrentUser()

Expand Down Expand Up @@ -82,6 +84,7 @@ export default () => {

if (subTopicRef.current === ALL_DONE) {
alert("Wau! Oot Pro kaikessa, onnittelut!")
logEvent(analytics, "all_done")
navigate("/progress")
return
}
Expand Down

0 comments on commit 5678ee3

Please sign in to comment.