diff --git a/docker-compose.yml b/docker-compose.yml index cb7ba59..bae4a8b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -32,7 +32,7 @@ services: - postgres - server ports: - - "3002:3000" + - "13002:3000" environment: - CHOKIDAR_USEPOLLING=true stdin_open: true diff --git a/frontend/src/App.css b/frontend/src/App.css index 1636b68..a01d9e4 100644 --- a/frontend/src/App.css +++ b/frontend/src/App.css @@ -32,6 +32,10 @@ body{ color:#fff; } +.profile:hover{ + background-color:#6666AA; +} + .header{ font: 32px ACROTSRG; font-weight: bold; @@ -55,6 +59,10 @@ body{ 0 0 150px #0ff; } +.shadowImage { + box-shadow: 0px 0px 30px #fff; +} + .glowLight { color: #fff; text-shadow: diff --git a/frontend/src/App.js b/frontend/src/App.js index df2715b..5c7d15b 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -53,20 +53,258 @@ const ChooseFlavorLoadingText = () => { return strings[Math.floor(Math.random()*strings.length)] } +const GetAvatar=(username)=>{ + return "https://ui-avatars.com/api/?name="+username+"&rounded=true"; +} +const GetSign=(birth_year,birth_month,birth_day,birth_minute,birth_hour)=>{ + if (birth_month===2) { + if (birth_day<21) { + return 12; + } else { + return 1; + } + } else + if (birth_month===3) { + if (birth_day<20) { + return 1; + } else { + return 2; + } + } else + if (birth_month===4) { + if (birth_day<21) { + return 2; + } else { + return 3; + } + } else + if (birth_month===5) { + if (birth_day<21) { + return 3; + } else { + return 4; + } + } else + if (birth_month===6) { + if (birth_day<23) { + return 4; + } else { + return 5; + } + } else + if (birth_month===7) { + if (birth_day<23) { + return 5; + } else { + return 6; + } + } else + if (birth_month===8) { + if (birth_day<23) { + return 6; + } else { + return 7; + } + } else + if (birth_month===9) { + if (birth_day<23) { + return 7; + } else { + return 8; + } + } else + if (birth_month===10) { + if (birth_day<22) { + return 8; + } else { + return 9; + } + } else + if (birth_month===11) { + if (birth_day<22) { + return 9; + } else { + return 10; + } + } else + if (birth_month===0) { + if (birth_day<20) { + return 10; + } else { + return 11; + } + } else + if (birth_month===1) { + if (birth_day<19) { + return 11; + } else { + return 12; + } + } + return 1; //Defaults to Aries... +} + +const GetSignByUser = (username,users)=>{ + var user = users.filter(((user)=>user.username===username))[0]; + return GetSign(user.birth_year,user.birth_month,user.birth_day,user.birth_minute,user.birth_hour) +} + +const GetSignData = (username,users,signs)=>{ + var user = users.filter(((user)=>user.username===username))[0]; + return signs.filter((sign)=>sign.id===GetSign(user.birth_year,user.birth_month,user.birth_day,user.birth_minute,user.birth_hour))[0]; +} + +const GetCompatibleMembers = (username,users,signs,compatibility)=>{ + //Look for your sign data. + var myData = GetSignData(username,users,signs) + var compatibilityData = compatibility.filter((c)=> + { + return c.signid===myData.id && c.compatible + }) + //See if compatible members exist. + var compatibleIds = [] + for (var compat of compatibilityData) { + compatibleIds.push(compat.compatiblesignid) + } + //console.log(compatibleIds) + var compatibleUsers = [] + users.forEach((user)=>{ + if (compatibleIds.includes(GetSignData(user.username,users,signs).id)) { + compatibleUsers.push(user.username) + } + }) + //console.log(compatibleUsers) + return compatibleUsers +} + +const RandomDarkColor = (username)=>{ + if (username.length>=3) { + return Math.floor((username.charCodeAt(0)*7%16)/2).toString(16)+(username.charCodeAt(0)%16).toString(16)+Math.floor((username.charCodeAt(1)*7%16)/2).toString(16)+(username.charCodeAt(1)%16).toString(16)+Math.floor((username.charCodeAt(2)*7%16)/2).toString(16)+(username.charCodeAt(2)%16).toString(16) + } else { + return "646968"; + } +} + +const Member =(p)=>{ + const [additionalText,setAdditionalText] = useState(""); + return ( +
+
+
+ +
+
+
+
+ {p.username} +
+
+ {additionalText} +
+ ); +} + const UserPage = ()=>{ const [text,setText] = useState(""); + const [dailytext,setDailyText] = useState(""); + const [compatibilitytext,setCompatibilityText] = useState(""); const [page,setPage] = useState(null); - switch (page) { - default:{ - return (
-
+ const [sign,setSign] = useState(""); + const [careerRating,setCareerRating] = useState(0); + const [wealthRating,setWealthRating] = useState(0); + const [loveRelationshipRating,setLoveRelationshipRating] = useState(0); + const [healthRating,setHealthRating] = useState(0); + const [update,setUpdate] = useState(false); + const [users,setUsers] = useState([]); + const [signs,setSigns] = useState([]); + const [compatibility,setCompatibility] = useState([]); + + useEffect(()=>{ + axios.get(REMOTE_ADDR+"/users/view").then((data)=>{ + setUsers(data.data) + return axios.get(REMOTE_ADDR+"/signs/view") + }) + .then((data)=>{setSigns(data.data) + return axios.get(REMOTE_ADDR+"/compatibility/view") + }) + .then((data)=>{ + setCompatibility(data.data) + }) + .then(()=>{ + setPage("USERHOME"); + }) + },[update]); + + useEffect(()=>{ + if (users.length>0 && signs.length>0) { + //console.log("Users: "+users) + axios.get("http://45.33.13.215/astronomy/"+GetSignData(getCookie("username"),users,signs).sign_name).then((data)=>{ + setDailyText(data.data.horoscope) + }) + } + },[users,signs]); + + useEffect(()=>{ + if (users.length>0 && signs.length>0 && compatibility.length>0) { + var finalText = GetCompatibleMembers(getCookie("username"),users,signs,compatibility).reverse().map((member)=>{ + return + }) + setCompatibilityText(finalText) + } + },[users,signs,compatibility]) + + + const header =
{getCookie("username")}'s ASTRONOMY
+
; + const dailyheader =
+
+ {getCookie("username")}'s DAILY HOROSCOPE +
+
; + const compatibilityheader =
+
+ {getCookie("username")}'s COMPATIBILITY +
+
; + + switch (page) { + case "USERHOME":{ + return (
+ {header} +
+
+ {GetSignData(getCookie("username"),users,signs).sign_name} +
+ +
+
+ {dailyheader} +
+
+ {dailytext} +
+ {compatibilityheader} +
+
+
+ {compatibilitytext} +
+
+
+
); + }break; + default:{ + return (
+ {header}
- {text} + + {ChooseFlavorLoadingText()} +
); diff --git a/frontend/src/astrology_signs/1.png b/frontend/src/astrology_signs/1.png new file mode 100644 index 0000000..275bebb Binary files /dev/null and b/frontend/src/astrology_signs/1.png differ diff --git a/frontend/src/astrology_signs/10.png b/frontend/src/astrology_signs/10.png new file mode 100644 index 0000000..2ab492d Binary files /dev/null and b/frontend/src/astrology_signs/10.png differ diff --git a/frontend/src/astrology_signs/11.png b/frontend/src/astrology_signs/11.png new file mode 100644 index 0000000..7210094 Binary files /dev/null and b/frontend/src/astrology_signs/11.png differ diff --git a/frontend/src/astrology_signs/12.png b/frontend/src/astrology_signs/12.png new file mode 100644 index 0000000..2e9033c Binary files /dev/null and b/frontend/src/astrology_signs/12.png differ diff --git a/frontend/src/astrology_signs/2.png b/frontend/src/astrology_signs/2.png new file mode 100644 index 0000000..268040e Binary files /dev/null and b/frontend/src/astrology_signs/2.png differ diff --git a/frontend/src/astrology_signs/3.png b/frontend/src/astrology_signs/3.png new file mode 100644 index 0000000..a6bfd55 Binary files /dev/null and b/frontend/src/astrology_signs/3.png differ diff --git a/frontend/src/astrology_signs/4.png b/frontend/src/astrology_signs/4.png new file mode 100644 index 0000000..d14a168 Binary files /dev/null and b/frontend/src/astrology_signs/4.png differ diff --git a/frontend/src/astrology_signs/5.png b/frontend/src/astrology_signs/5.png new file mode 100644 index 0000000..e690728 Binary files /dev/null and b/frontend/src/astrology_signs/5.png differ diff --git a/frontend/src/astrology_signs/6.png b/frontend/src/astrology_signs/6.png new file mode 100644 index 0000000..bad507a Binary files /dev/null and b/frontend/src/astrology_signs/6.png differ diff --git a/frontend/src/astrology_signs/7.png b/frontend/src/astrology_signs/7.png new file mode 100644 index 0000000..336d0e6 Binary files /dev/null and b/frontend/src/astrology_signs/7.png differ diff --git a/frontend/src/astrology_signs/8.png b/frontend/src/astrology_signs/8.png new file mode 100644 index 0000000..4b780e0 Binary files /dev/null and b/frontend/src/astrology_signs/8.png differ diff --git a/frontend/src/astrology_signs/9.png b/frontend/src/astrology_signs/9.png new file mode 100644 index 0000000..a24c493 Binary files /dev/null and b/frontend/src/astrology_signs/9.png differ