From 7bcd11e18650a5a18625d51c637166f628bb9e84 Mon Sep 17 00:00:00 2001 From: Beihao Zhou Date: Sun, 11 Dec 2022 19:18:15 -0500 Subject: [PATCH] Add Friends Page (Close #59) (#105) Co-authored-by: Rebecca-Chou Co-authored-by: e26chiu Reviewed-on: https://git.csclub.uwaterloo.ca/www/cs-2022-class-profile/pulls/105 Reviewed-by: Mark Chiu --- data/friends.ts | 487 ++++++++++++++++++++++++++++++++++++++++++++++ pages/friends.tsx | 233 ++++++++++++++++++++++ 2 files changed, 720 insertions(+) create mode 100644 data/friends.ts create mode 100644 pages/friends.tsx diff --git a/data/friends.ts b/data/friends.ts new file mode 100644 index 0000000..698ee8d --- /dev/null +++ b/data/friends.ts @@ -0,0 +1,487 @@ +export const F1 = [ + { + category: "1", + value: 5, + }, + { + category: "2", + value: 4, + }, + { + category: "3", + value: 11, + }, + { + category: "4", + value: 19, + }, + { + category: "5", + value: 17, + }, + { + category: "6", + value: 15, + }, + { + category: "7", + value: 19, + }, + { + category: "8", + value: 6, + }, + { + category: "9", + value: 2, + }, + { + category: "10", + value: 5, + }, +]; + +export const F2 = [ + { + category: "Introvert", + value: 53, + }, + { + category: "Extrovert", + value: 11, + }, + { + category: "Ambivert", + value: 39, + }, +]; + +export const F3 = [ + { + category: "None", + value: 5, + }, + { + category: "Half", + value: 25, + }, + { + category: "Some", + value: 28, + }, + { + category: "Majority", + value: 42, + }, + { + category: "All", + value: 3, + }, +]; + +export const F4 = [ + { + category: "Rarely", + value: 21, + }, + { + category: "Sometimes", + value: 33, + }, + { + category: "Often", + value: 34, + }, + { + category: "Always", + value: 15, + }, +]; + +export const F5 = [ + { + category: "0", + value: 7, + }, + { + category: "1-2", + value: 29, + }, + { + category: "3-5", + value: 35, + }, + { + category: "5-10", + value: 10, + }, + { + category: "10+", + value: 6, + }, + { + category: "Unsure", + value: 14, + }, +]; + +export const F6 = [ + { + category: "Often", + value: 8, + }, + { + category: "Sometimes", + value: 37, + }, + { + category: "Rarely", + value: 38, + }, + { + category: "Never", + value: 17, + }, + { + category: "Always", + value: 1, + }, +]; + +export const F7 = [ + { + category: "Often", + value: 36, + }, + { + category: "Sometimes", + value: 35, + }, + { + category: "Rarely", + value: 14, + }, + { + category: "Never", + value: 3, + }, + { + category: "Always", + value: 14, + }, +]; + +export const F8 = [ + { + category: "1A", + value: 52, + }, + { + category: "1B", + value: 35, + }, + { + category: "2A", + value: 23, + }, + { + category: "2B", + value: 26, + }, + { + category: "3A", + value: 7, + }, + { + category: "3B", + value: 3, + }, + { + category: "4A", + value: 7, + }, + { + category: "4B", + value: 13, + }, + { + category: "1st coop", + value: 7, + }, + { + category: "2nd coop", + value: 8, + }, + { + category: "3rd coop", + value: 8, + }, + { + category: "4th coop", + value: 3, + }, + { + category: "5th coop", + value: 5, + }, + { + category: "6th coop", + value: 3, + }, +]; + +export const F9 = [ + { + category: "0", + value: 1, + }, + { + category: "1", + value: 13, + }, + { + category: "2", + value: 32, + }, + { + category: "3-4", + value: 50, + }, + { + category: "5-10", + value: 7, + }, +]; + +export const F10 = [ + { + category: "0", + value: 1, + }, + { + category: "1-2", + value: 8, + }, + { + category: "3-4", + value: 49, + }, + { + category: "5-10", + value: 43, + }, + { + category: "11+", + value: 1, + }, +]; + +export const F11 = [ + { + category: "0", + value: 2, + }, + { + category: "1", + value: 9, + }, + { + category: "2", + value: 20, + }, + { + category: "3", + value: 29, + }, + { + category: "4", + value: 27, + }, + { + category: "5", + value: 16, + }, +]; + +export const F12 = [ + { + category: "Most", + value: 41, + }, + { + category: "Some", + value: 49, + }, + { + category: "All", + value: 4, + }, + { + category: "Barely", + value: 8, + }, + { + category: "No", + value: 1, + }, +]; + +export const F13 = [ + { + category: "Classes", + value: 81, + }, + { + category: "Mutual friends", + value: 71, + }, + { + category: "Extracurriculars", + value: 53, + }, + { + category: "Coop", + value: 40, + }, + { + category: "Parties", + value: 15, + }, + { + category: "Online", + value: 9, + }, + { + category: "Residence", + value: 3, + }, +]; + +export const F14 = [ + { + category: "Res", + value: 78, + }, + { + category: "MC", + value: 36, + }, + { + category: "DC", + value: 21, + }, + { + category: "PAC", + value: 14, + }, + { + category: "SLC", + value: 11, + }, + { + category: "DP", + value: 4, + }, + { + category: "E7", + value: 9, + }, + { + category: "E5", + value: 3, + }, + { + category: "E5", + value: 3, + }, + { + category: "CIF", + value: 5, + }, + { + category: "AL", + value: 2, + }, + { + category: "CIF", + value: 5, + }, + { + category: "Plaza", + value: 3, + }, +]; + +export const F15 = [ + { + text: "Chatting/Talking", + value: 12, + }, + { + text: "Eating food", + value: 36, + }, + { + text: "Workout", + value: 11, + }, + { + text: "Drinking", + value: 7, + }, + { + text: "Study", + value: 9, + }, + { + text: "Board games", + value: 10, + }, + { + text: "Video games", + value: 8, + }, + { + text: "Watch TV Shows/Animes/Movies", + value: 4, + }, + { + text: "Party", + value: 2, + }, + { + text: "Cook", + value: 2, + }, + { + text: "Exploring new places", + value: 1, + }, + { + text: "Clubs", + value: 1, + }, +]; + +export const F16 = [ + { + category: "Most", + value: 49, + }, + { + category: "Some", + value: 36, + }, + { + category: "All", + value: 9, + }, + { + category: "Barely", + value: 6, + }, + { + category: "No", + value: 2, + }, +]; \ No newline at end of file diff --git a/pages/friends.tsx b/pages/friends.tsx new file mode 100644 index 0000000..192b9d7 --- /dev/null +++ b/pages/friends.tsx @@ -0,0 +1,233 @@ +import { + F1, + F2, + F3, + F4, + F5, + F6, + F7, + F8, + F9, + F10, + F11, + F12, + F13, + F14, + F15, + F16, +} from "data/friends"; +import { pageRoutes } from "data/routes"; +import React from "react"; +import { + barGraphProps, + DefaultProp, + pieChartProps, + barGraphMargin, + barGraphWidth, + wordCloudWidth, +} from "utils/defaultProps"; +import { useWindowDimensions } from "utils/getWindowDimensions"; +import { useIsMobile } from "utils/isMobile"; + +import { BarGraphVertical, BarGraphHorizontal } from "@/components/BarGraph"; +import { BottomNav } from "@/components/BottomNav"; +import { ComponentWrapper } from "@/components/ComponentWrapper"; +import { Header } from "@/components/Header"; +import { PieChart } from "@/components/PieChart"; +import { SectionHeader } from "@/components/SectionHeader"; +import { WordCloud } from "@/components/WordCloud"; + +import styles from "./samplePage.module.css"; + +export default function Demographics() { + const pageWidth = useWindowDimensions().width; + const isMobile = useIsMobile(); + + return ( +
+
+ + + + + + + +
+ +
+
+ + + + + + +
+ +
+
+ + + + + + +
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ ); +}