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 (
+
+
+
+
![]({"https://ui-avatars.com/api/?name="+p.username+"&rounded=true&background="+RandomDarkColor(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}
+
+
![]({require('./astrology_signs/'+GetSignByUser(getCookie("username"),users)+'.png')}/)
+
+
+ {dailyheader}
+
+ {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