diff --git a/.cache/replit/nix/env.json b/.cache/replit/nix/env.json index 81d8bf4..663e604 100644 --- a/.cache/replit/nix/env.json +++ b/.cache/replit/nix/env.json @@ -1 +1 @@ -{"entries":{"replit.nix":{"env":{"AR":"ar","AS":"as","CC":"gcc","CONFIG_SHELL":"/nix/store/bm7jr70d9ghn5cczb3q0w90apsm05p54-bash-5.1-p8/bin/bash","CXX":"g++","HOST_PATH":"/nix/store/ra8r42571xvv1m85wanh1ll9mxmp0mwl-nodejs-16.13.2/bin:/nix/store/rszcnphk27fvfr2hq5pcr07jccf2dqy1-typescript-language-server-0.9.6/bin:/nix/store/ylaybq7lj0yr3w5jcmrba9rhb8nlcflz-yarn-1.22.17/bin:/nix/store/z3f1lqsxb31bzv36wzmjj3qp9gp9ci14-jest-cli-23.6.0/bin:/nix/store/acbzly52achnz0y0dgdl90d9zd4vy7bq-gh-2.2.0/bin:/nix/store/jd1y449cf66yx5d1hwyjvc4562b1p1am-coreutils-9.0/bin:/nix/store/jjvw20r6pz3ff7pn91yhvfx8s7izsqan-findutils-4.8.0/bin:/nix/store/ndd6gh8zigjy0j68arj7nyrbcw4kcw01-diffutils-3.8/bin:/nix/store/bpg0ia8nkavzw7s66avi1f9nz72i1p3r-gnused-4.8/bin:/nix/store/df3ff57sbkgbdhc4ar19zs4y0hrhggii-gnugrep-3.7/bin:/nix/store/4fv981732jqzirah3h2y6ynmlsfbxb37-gawk-5.1.1/bin:/nix/store/k5ifa08z0qlkknnb8s1bdh2kdrx0qmd0-gnutar-1.34/bin:/nix/store/dcird3wn9xywy49w3qq1hpjwvjfn3lph-gzip-1.11/bin:/nix/store/s85iyc3p9nbinwvwx9rcqirf1m68zpmm-bzip2-1.0.6.0.2-bin/bin:/nix/store/msncxcf5lgy5by9cqjyxchxd26x47d64-gnumake-4.3/bin:/nix/store/bm7jr70d9ghn5cczb3q0w90apsm05p54-bash-5.1-p8/bin:/nix/store/gi3psbgxbf2fmvgi36pmw77nnh58vq3l-patch-2.7.6/bin:/nix/store/sqb20f4rk80lw21j4is85qwljlphmn3g-xz-5.2.5-bin/bin","LD":"ld","LOCALE_ARCHIVE":"/usr/lib/locale/locale-archive","NIX_BINTOOLS":"/nix/store/spm7d6ncyx2k5w8yl6clzynv2s4wf1kp-binutils-wrapper-2.35.2","NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu":"1","NIX_BUILD_CORES":"8","NIX_BUILD_TOP":"/tmp","NIX_CC":"/nix/store/2qwnn6lizc9d119kp3zig3q19gbfm4n6-gcc-wrapper-10.3.0","NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu":"1","NIX_CFLAGS_COMPILE":" -frandom-seed=3j6gq1w2wc -isystem /nix/store/ra8r42571xvv1m85wanh1ll9mxmp0mwl-nodejs-16.13.2/include -isystem /nix/store/ra8r42571xvv1m85wanh1ll9mxmp0mwl-nodejs-16.13.2/include","NIX_ENFORCE_NO_NATIVE":"1","NIX_HARDENING_ENABLE":"fortify stackprotector pic strictoverflow format relro bindnow","NIX_INDENT_MAKE":"1","NIX_LDFLAGS":"-rpath /nix/store/3j6gq1w2wc33bpcz2lidhv5mn8zr815n-nix-shell/lib64 -rpath /nix/store/3j6gq1w2wc33bpcz2lidhv5mn8zr815n-nix-shell/lib ","NIX_STORE":"/nix/store","NM":"nm","NODE_PATH":"/nix/store/ra8r42571xvv1m85wanh1ll9mxmp0mwl-nodejs-16.13.2/lib/node_modules:/nix/store/rszcnphk27fvfr2hq5pcr07jccf2dqy1-typescript-language-server-0.9.6/lib/node_modules:/nix/store/z3f1lqsxb31bzv36wzmjj3qp9gp9ci14-jest-cli-23.6.0/lib/node_modules","OBJCOPY":"objcopy","OBJDUMP":"objdump","PATH":"/nix/store/bccsypsvjskpzsgzww8bzjgqmck4bjbf-bash-interactive-5.1-p8/bin:/nix/store/bqmg7l0jn6nhgjlfc981g1imzb6ny8xl-patchelf-0.13/bin:/nix/store/2qwnn6lizc9d119kp3zig3q19gbfm4n6-gcc-wrapper-10.3.0/bin:/nix/store/6r5h4h7nqx73m87j5b9sjwy2x9kyri0k-gcc-10.3.0/bin:/nix/store/csz8v8xi2f644j26n84i20dnqmq43sih-glibc-2.33-117-bin/bin:/nix/store/jd1y449cf66yx5d1hwyjvc4562b1p1am-coreutils-9.0/bin:/nix/store/spm7d6ncyx2k5w8yl6clzynv2s4wf1kp-binutils-wrapper-2.35.2/bin:/nix/store/h19zwlkrp6b0hp3ypbqdcggnyarn3af6-binutils-2.35.2/bin:/nix/store/ra8r42571xvv1m85wanh1ll9mxmp0mwl-nodejs-16.13.2/bin:/nix/store/rszcnphk27fvfr2hq5pcr07jccf2dqy1-typescript-language-server-0.9.6/bin:/nix/store/ylaybq7lj0yr3w5jcmrba9rhb8nlcflz-yarn-1.22.17/bin:/nix/store/z3f1lqsxb31bzv36wzmjj3qp9gp9ci14-jest-cli-23.6.0/bin:/nix/store/acbzly52achnz0y0dgdl90d9zd4vy7bq-gh-2.2.0/bin:/nix/store/jd1y449cf66yx5d1hwyjvc4562b1p1am-coreutils-9.0/bin:/nix/store/jjvw20r6pz3ff7pn91yhvfx8s7izsqan-findutils-4.8.0/bin:/nix/store/ndd6gh8zigjy0j68arj7nyrbcw4kcw01-diffutils-3.8/bin:/nix/store/bpg0ia8nkavzw7s66avi1f9nz72i1p3r-gnused-4.8/bin:/nix/store/df3ff57sbkgbdhc4ar19zs4y0hrhggii-gnugrep-3.7/bin:/nix/store/4fv981732jqzirah3h2y6ynmlsfbxb37-gawk-5.1.1/bin:/nix/store/k5ifa08z0qlkknnb8s1bdh2kdrx0qmd0-gnutar-1.34/bin:/nix/store/dcird3wn9xywy49w3qq1hpjwvjfn3lph-gzip-1.11/bin:/nix/store/s85iyc3p9nbinwvwx9rcqirf1m68zpmm-bzip2-1.0.6.0.2-bin/bin:/nix/store/msncxcf5lgy5by9cqjyxchxd26x47d64-gnumake-4.3/bin:/nix/store/bm7jr70d9ghn5cczb3q0w90apsm05p54-bash-5.1-p8/bin:/nix/store/gi3psbgxbf2fmvgi36pmw77nnh58vq3l-patch-2.7.6/bin:/nix/store/sqb20f4rk80lw21j4is85qwljlphmn3g-xz-5.2.5-bin/bin","RANLIB":"ranlib","READELF":"readelf","SIZE":"size","SOURCE_DATE_EPOCH":"315532800","STRINGS":"strings","STRIP":"strip","XDG_DATA_DIRS":"/nix/store/bqmg7l0jn6nhgjlfc981g1imzb6ny8xl-patchelf-0.13/share","_":"/nix/store/jd1y449cf66yx5d1hwyjvc4562b1p1am-coreutils-9.0/bin/env","__ETC_PROFILE_SOURCED":"1","buildInputs":"/nix/store/ra8r42571xvv1m85wanh1ll9mxmp0mwl-nodejs-16.13.2 /nix/store/rszcnphk27fvfr2hq5pcr07jccf2dqy1-typescript-language-server-0.9.6 /nix/store/ylaybq7lj0yr3w5jcmrba9rhb8nlcflz-yarn-1.22.17 /nix/store/z3f1lqsxb31bzv36wzmjj3qp9gp9ci14-jest-cli-23.6.0 /nix/store/acbzly52achnz0y0dgdl90d9zd4vy7bq-gh-2.2.0","builder":"/nix/store/bm7jr70d9ghn5cczb3q0w90apsm05p54-bash-5.1-p8/bin/bash","configureFlags":"","depsBuildBuild":"","depsBuildBuildPropagated":"","depsBuildTarget":"","depsBuildTargetPropagated":"","depsHostHost":"","depsHostHostPropagated":"","depsTargetTarget":"","depsTargetTargetPropagated":"","doCheck":"","doInstallCheck":"","name":"nix-shell","nativeBuildInputs":"","nobuildPhase":"echo\necho \"This derivation is not meant to be built, aborting\";\necho\nexit 1\n","out":"/nix/store/3j6gq1w2wc33bpcz2lidhv5mn8zr815n-nix-shell","outputs":"out","patches":"","phases":"nobuildPhase","propagatedBuildInputs":"","propagatedNativeBuildInputs":"","shell":"/nix/store/bm7jr70d9ghn5cczb3q0w90apsm05p54-bash-5.1-p8/bin/bash","shellHook":"","stdenv":"/nix/store/z7wz8q1i0j4jmfpn87wpakwma6q0k90n-stdenv-linux","strictDeps":"","system":"x86_64-linux"},"dependencies":[{"path":"replit.nix","mod_time":"2022-09-12T15:37:24.540395199Z"}],"channel":"stable-21_11","channel_nix_path":"/nix/store/1m2fssfawvn6krbv3rc6hmq7xaa45v5a-nixpkgs-stable-21_11-21.11.tar.gz/nixpkgs-stable-21_11"}}} \ No newline at end of file +{"entries":{"replit.nix":{"env":{"AR":"ar","AS":"as","CC":"gcc","CONFIG_SHELL":"/nix/store/bm7jr70d9ghn5cczb3q0w90apsm05p54-bash-5.1-p8/bin/bash","CXX":"g++","HOST_PATH":"/nix/store/ra8r42571xvv1m85wanh1ll9mxmp0mwl-nodejs-16.13.2/bin:/nix/store/rszcnphk27fvfr2hq5pcr07jccf2dqy1-typescript-language-server-0.9.6/bin:/nix/store/ylaybq7lj0yr3w5jcmrba9rhb8nlcflz-yarn-1.22.17/bin:/nix/store/z3f1lqsxb31bzv36wzmjj3qp9gp9ci14-jest-cli-23.6.0/bin:/nix/store/acbzly52achnz0y0dgdl90d9zd4vy7bq-gh-2.2.0/bin:/nix/store/jd1y449cf66yx5d1hwyjvc4562b1p1am-coreutils-9.0/bin:/nix/store/jjvw20r6pz3ff7pn91yhvfx8s7izsqan-findutils-4.8.0/bin:/nix/store/ndd6gh8zigjy0j68arj7nyrbcw4kcw01-diffutils-3.8/bin:/nix/store/bpg0ia8nkavzw7s66avi1f9nz72i1p3r-gnused-4.8/bin:/nix/store/df3ff57sbkgbdhc4ar19zs4y0hrhggii-gnugrep-3.7/bin:/nix/store/4fv981732jqzirah3h2y6ynmlsfbxb37-gawk-5.1.1/bin:/nix/store/k5ifa08z0qlkknnb8s1bdh2kdrx0qmd0-gnutar-1.34/bin:/nix/store/dcird3wn9xywy49w3qq1hpjwvjfn3lph-gzip-1.11/bin:/nix/store/s85iyc3p9nbinwvwx9rcqirf1m68zpmm-bzip2-1.0.6.0.2-bin/bin:/nix/store/msncxcf5lgy5by9cqjyxchxd26x47d64-gnumake-4.3/bin:/nix/store/bm7jr70d9ghn5cczb3q0w90apsm05p54-bash-5.1-p8/bin:/nix/store/gi3psbgxbf2fmvgi36pmw77nnh58vq3l-patch-2.7.6/bin:/nix/store/sqb20f4rk80lw21j4is85qwljlphmn3g-xz-5.2.5-bin/bin","LD":"ld","LOCALE_ARCHIVE":"/usr/lib/locale/locale-archive","NIX_BINTOOLS":"/nix/store/spm7d6ncyx2k5w8yl6clzynv2s4wf1kp-binutils-wrapper-2.35.2","NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu":"1","NIX_BUILD_CORES":"8","NIX_BUILD_TOP":"/tmp","NIX_CC":"/nix/store/2qwnn6lizc9d119kp3zig3q19gbfm4n6-gcc-wrapper-10.3.0","NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu":"1","NIX_CFLAGS_COMPILE":" -frandom-seed=3j6gq1w2wc -isystem /nix/store/ra8r42571xvv1m85wanh1ll9mxmp0mwl-nodejs-16.13.2/include -isystem /nix/store/ra8r42571xvv1m85wanh1ll9mxmp0mwl-nodejs-16.13.2/include","NIX_ENFORCE_NO_NATIVE":"1","NIX_HARDENING_ENABLE":"fortify stackprotector pic strictoverflow format relro bindnow","NIX_INDENT_MAKE":"1","NIX_LDFLAGS":"-rpath /nix/store/3j6gq1w2wc33bpcz2lidhv5mn8zr815n-nix-shell/lib64 -rpath /nix/store/3j6gq1w2wc33bpcz2lidhv5mn8zr815n-nix-shell/lib ","NIX_STORE":"/nix/store","NM":"nm","NODE_PATH":"/nix/store/ra8r42571xvv1m85wanh1ll9mxmp0mwl-nodejs-16.13.2/lib/node_modules:/nix/store/rszcnphk27fvfr2hq5pcr07jccf2dqy1-typescript-language-server-0.9.6/lib/node_modules:/nix/store/z3f1lqsxb31bzv36wzmjj3qp9gp9ci14-jest-cli-23.6.0/lib/node_modules","OBJCOPY":"objcopy","OBJDUMP":"objdump","PATH":"/nix/store/bccsypsvjskpzsgzww8bzjgqmck4bjbf-bash-interactive-5.1-p8/bin:/nix/store/bqmg7l0jn6nhgjlfc981g1imzb6ny8xl-patchelf-0.13/bin:/nix/store/2qwnn6lizc9d119kp3zig3q19gbfm4n6-gcc-wrapper-10.3.0/bin:/nix/store/6r5h4h7nqx73m87j5b9sjwy2x9kyri0k-gcc-10.3.0/bin:/nix/store/csz8v8xi2f644j26n84i20dnqmq43sih-glibc-2.33-117-bin/bin:/nix/store/jd1y449cf66yx5d1hwyjvc4562b1p1am-coreutils-9.0/bin:/nix/store/spm7d6ncyx2k5w8yl6clzynv2s4wf1kp-binutils-wrapper-2.35.2/bin:/nix/store/h19zwlkrp6b0hp3ypbqdcggnyarn3af6-binutils-2.35.2/bin:/nix/store/ra8r42571xvv1m85wanh1ll9mxmp0mwl-nodejs-16.13.2/bin:/nix/store/rszcnphk27fvfr2hq5pcr07jccf2dqy1-typescript-language-server-0.9.6/bin:/nix/store/ylaybq7lj0yr3w5jcmrba9rhb8nlcflz-yarn-1.22.17/bin:/nix/store/z3f1lqsxb31bzv36wzmjj3qp9gp9ci14-jest-cli-23.6.0/bin:/nix/store/acbzly52achnz0y0dgdl90d9zd4vy7bq-gh-2.2.0/bin:/nix/store/jd1y449cf66yx5d1hwyjvc4562b1p1am-coreutils-9.0/bin:/nix/store/jjvw20r6pz3ff7pn91yhvfx8s7izsqan-findutils-4.8.0/bin:/nix/store/ndd6gh8zigjy0j68arj7nyrbcw4kcw01-diffutils-3.8/bin:/nix/store/bpg0ia8nkavzw7s66avi1f9nz72i1p3r-gnused-4.8/bin:/nix/store/df3ff57sbkgbdhc4ar19zs4y0hrhggii-gnugrep-3.7/bin:/nix/store/4fv981732jqzirah3h2y6ynmlsfbxb37-gawk-5.1.1/bin:/nix/store/k5ifa08z0qlkknnb8s1bdh2kdrx0qmd0-gnutar-1.34/bin:/nix/store/dcird3wn9xywy49w3qq1hpjwvjfn3lph-gzip-1.11/bin:/nix/store/s85iyc3p9nbinwvwx9rcqirf1m68zpmm-bzip2-1.0.6.0.2-bin/bin:/nix/store/msncxcf5lgy5by9cqjyxchxd26x47d64-gnumake-4.3/bin:/nix/store/bm7jr70d9ghn5cczb3q0w90apsm05p54-bash-5.1-p8/bin:/nix/store/gi3psbgxbf2fmvgi36pmw77nnh58vq3l-patch-2.7.6/bin:/nix/store/sqb20f4rk80lw21j4is85qwljlphmn3g-xz-5.2.5-bin/bin","RANLIB":"ranlib","READELF":"readelf","SIZE":"size","SOURCE_DATE_EPOCH":"315532800","STRINGS":"strings","STRIP":"strip","XDG_DATA_DIRS":"/nix/store/bqmg7l0jn6nhgjlfc981g1imzb6ny8xl-patchelf-0.13/share","_":"/nix/store/jd1y449cf66yx5d1hwyjvc4562b1p1am-coreutils-9.0/bin/env","__ETC_PROFILE_SOURCED":"1","buildInputs":"/nix/store/ra8r42571xvv1m85wanh1ll9mxmp0mwl-nodejs-16.13.2 /nix/store/rszcnphk27fvfr2hq5pcr07jccf2dqy1-typescript-language-server-0.9.6 /nix/store/ylaybq7lj0yr3w5jcmrba9rhb8nlcflz-yarn-1.22.17 /nix/store/z3f1lqsxb31bzv36wzmjj3qp9gp9ci14-jest-cli-23.6.0 /nix/store/acbzly52achnz0y0dgdl90d9zd4vy7bq-gh-2.2.0","builder":"/nix/store/bm7jr70d9ghn5cczb3q0w90apsm05p54-bash-5.1-p8/bin/bash","configureFlags":"","depsBuildBuild":"","depsBuildBuildPropagated":"","depsBuildTarget":"","depsBuildTargetPropagated":"","depsHostHost":"","depsHostHostPropagated":"","depsTargetTarget":"","depsTargetTargetPropagated":"","doCheck":"","doInstallCheck":"","name":"nix-shell","nativeBuildInputs":"","nobuildPhase":"echo\necho \"This derivation is not meant to be built, aborting\";\necho\nexit 1\n","out":"/nix/store/3j6gq1w2wc33bpcz2lidhv5mn8zr815n-nix-shell","outputs":"out","patches":"","phases":"nobuildPhase","propagatedBuildInputs":"","propagatedNativeBuildInputs":"","shell":"/nix/store/bm7jr70d9ghn5cczb3q0w90apsm05p54-bash-5.1-p8/bin/bash","shellHook":"","stdenv":"/nix/store/z7wz8q1i0j4jmfpn87wpakwma6q0k90n-stdenv-linux","strictDeps":"","system":"x86_64-linux"},"dependencies":[{"path":"replit.nix","mod_time":"2022-10-14T14:03:04.079268522Z"}],"channel":"stable-21_11","channel_nix_path":"/nix/store/1m2fssfawvn6krbv3rc6hmq7xaa45v5a-nixpkgs-stable-21_11-21.11.tar.gz/nixpkgs-stable-21_11"}}} \ No newline at end of file diff --git a/.upm/store.json b/.upm/store.json index 7fefbd0..8bb20e7 100644 --- a/.upm/store.json +++ b/.upm/store.json @@ -1 +1 @@ -{"version":2,"languages":{"nodejs-npm":{"specfileHash":"c941b1503ae8da67cedfca26607ea1e0","lockfileHash":"7faf0b5e6e49d5eb4b35b07fca2eb41c","guessedImports":["tailwindcss","next","nextjs-progressbar","jsonwebtoken","@upstash/redis","swr","tailwind-scrollbar","react","cookies-next","nodemailer","next-auth"],"guessedImportsHash":"da9681ac08de7f8d9c36bbbdcf3cd0ea"}}} \ No newline at end of file +{"version":2,"languages":{"nodejs-npm":{"specfileHash":"8c7b9899a636d7f189e5ae30d1145df9","lockfileHash":"818d557848df2102456a28e4acf828e4","guessedImports":["react","nextjs-progressbar","next","cookies-next","uuid","@upstash/redis","nodemailer","use-local-storage","next-auth","jsonwebtoken","nextjs-redirect","swr"],"guessedImportsHash":"5ac289dad0fa94045ab3ea353a6f627d"}}} diff --git a/components/download.js b/components/download.js index 1f6f558..ddda4ca 100644 --- a/components/download.js +++ b/components/download.js @@ -2,30 +2,29 @@ import styles from "./download.module.css"; export default function DownloadList() { return ( -
-
-
- +
+
+
+
- -
-
- +
+
+
- -
-
- + diff --git a/components/download.module.css b/components/download.module.css index 590be44..4a5ec38 100644 --- a/components/download.module.css +++ b/components/download.module.css @@ -1,12 +1,64 @@ -.download_btn:hover { - /*transform: scale(1.05);*/ +.download { + display: flex; + flex-direction: column; + width: 50%; + margin-left: auto; + margin-right: auto; + gap: 1rem; + margin-top: 2rem; + margin-bottom: 2rem; } -@keyframes download_hover_anm { - 0% { - - } - 100% { - - } +.download-option-container { + display: grid; + grid-template-columns: 1fr 1fr; + border-radius: 0.5rem; + padding: 0.15rem; + background-color: var(--bg-color-out-minor); +} + +.download-option-image-container { + flex: 1; + margin: auto; + display: flex; + vertical-align: middle; +} + +.download-option-content-container { + flex: 1; + display: block; +} + +.download-button { + text-align: center; + margin-top: 3rem; + margin-bottom: 3rem; + margin-left: auto; + margin-right: auto; + display: block; + line-height: 1.5rem; + font-size: 1.5rem; + vertical-align: middle; + width: 15rem; + max-height: 3.5rem; + padding: 1rem; + border-radius: 0.5rem; + background-color: var(--bg-color-btn-download); +} + +.download-button[disabled] { + cursor: not-allowed; + background-color: var(--bg-color-btn-disabled); +} + +.download-option-image { + display: block; + width: auto; + height: auto; + max-width: 100%; + max-height: 3.5rem; + margin: auto; + vertical-align: middle; + margin-top: 3rem; + margin-bottom: 3rem; } \ No newline at end of file diff --git a/components/dropdown.module.css b/components/dropdown.module.css index 2d2e677..6cf5837 100644 --- a/components/dropdown.module.css +++ b/components/dropdown.module.css @@ -2,6 +2,27 @@ display: none; } +.dropdown > ul { + /* Remove list defaults */ + list-style-type: none; + padding: 0px; + margin: 0px; + + position: relative; + top: -1rem; + display: grid; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-bottom-left-radius: 0.25rem; + width: 10rem; + background-color: var(--bg-color-nav); +} + +.dropdownToggle > svg { + color: var(--text-color); +} + .dropdownToggle > svg[active="true"] { transform: scaleY(-1); transition: 150ms; @@ -12,8 +33,15 @@ transition: 150ms; } -.dropdownToggle{ +.dropdownToggle { transition: 150ms; + background-color: transparent; + border: none; + height: 2.5rem; + width: 2.5rem; + cursor: pointer; + margin-top: auto; + margin-bottom: auto; } .dropdownToggle:hover { diff --git a/components/footer.js b/components/footer.js index 58dcf0e..a418d2f 100644 --- a/components/footer.js +++ b/components/footer.js @@ -1,9 +1,27 @@ import Link from "next/link"; +import styles from "./footer.module.css"; export default function Footer() { return ( -
-
+
+
+

Links

+

Download

+

Sign Up

+

Sign In

+
+ +
+

Authors

+

Luke Gonsalves

+

Matthew Hosier

+

Ben Landon

+

Aryan Upadhyaya

+

Deven McWhirk

+
+
+ /*
+

Links

Download

GitHub Repository

@@ -11,8 +29,8 @@ export default function Footer() {

- -
+ +

Authors

Luke Gonsalves

Matthew Hosier

@@ -20,6 +38,6 @@ export default function Footer() {

Aryan Upadhyaya

Deven McWhirk

-
+
*/ ) } \ No newline at end of file diff --git a/components/footer.module.css b/components/footer.module.css new file mode 100644 index 0000000..4134650 --- /dev/null +++ b/components/footer.module.css @@ -0,0 +1,54 @@ +.footer { + margin-top: auto; + position: static; + bottom: 0; + left: 0; + max-width: 100%; + width: 100%; + display: grid; + grid-template-columns: 1fr 2fr 1fr; + margin-left: auto; + margin-right: auto; + text-align: center; + padding-top: 0.25rem; + padding-bottom: 0.25rem; + gap: none; + background-color: var(--bg-color-footer); +} + +.footer-image { + max-height: 7rem; + margin: auto; +} + +.footer-section { + display: grid; + grid-template-columns: 1fr 1fr; + grid-template-rows: auto auto 1fr; +} + +.footer-section > *:first-child { + grid-column: span 2; +} + +.footer-section > *:last-child:nth-child(odd) { + grid-column: span 2; +} + +.footer-section a { + text-decoration: none; + color: var(--text-color-footer-link); +} + +.footer-section a:hover { + color: var(--text-color-footer-link-hover); +} + +.footer-section footer-section-title { + font-size: 1.125rem; + font-weight: bold; +} + +.footer-section a { + color: var(--text-color-footer); +} \ No newline at end of file diff --git a/components/imageCarousel.js b/components/imageCarousel.js index 20a5514..0491c49 100644 --- a/components/imageCarousel.js +++ b/components/imageCarousel.js @@ -10,7 +10,7 @@ export default function ImageCarousel(props) { let l = []; imageSrcs.forEach((imageSrc, i) => { l.push( - + ) }); setImages(l); @@ -49,11 +49,9 @@ export default function ImageCarousel(props) { clearInterval(interval); } }) - {/*
*/} return ( -
+
{images}
) - {/*
*/} } \ No newline at end of file diff --git a/components/imageCarousel.module.css b/components/imageCarousel.module.css index 93501b9..542ebea 100644 --- a/components/imageCarousel.module.css +++ b/components/imageCarousel.module.css @@ -1,3 +1,22 @@ +.imageCarousel { + margin-left: auto; + margin-right: auto; + display: flex; + overflow: hidden; + margin-top: 1.25rem; + margin-bottom: 1.25rem; +} + +.imageCarouselImage { + flex: 1; + border-radius: 0.25rem; + width: auto; + height: auto; + margin-left: auto; + margin-right: auto; + max-width: 42rem; +} + .imageCarouselActiveImage { animation-name: imageCarouselAnm; animation-duration: 3s; @@ -9,10 +28,6 @@ display: none; } -.imageCarousel { - -} - @keyframes imageCarouselAnm { 0% { opacity: 0; diff --git a/components/layout.js b/components/layout.js index 381b55a..0c6616f 100644 --- a/components/layout.js +++ b/components/layout.js @@ -1,26 +1,35 @@ import NavBar from "./nav.js"; -import { useState } from "react"; -import React from "react"; +import React, { useEffect } from "react"; import NextNProgress from "nextjs-progressbar"; -import { darkMode } from "../globalStates/theme.js"; +import Footer from "./footer.js"; +import styles from "./layout.module.css"; +import { useTheme } from "../providers/theme.js"; +import useLocalStorage from "use-local-storage"; export default function Layout( { children }) { - const [r, sr] = useState(0); - const forceRerender = () => { - sr(r + 1); - } - const childrenWithProps = React.Children.map(children, child => { - return React.cloneElement(child, { forceRerender }) + const [theme, setTheme] = useTheme(); + const [themeStorage] = useLocalStorage("theme", "light"); + useEffect(() => { + document.querySelector("html").setAttribute("data-theme", theme); }); return ( -
- +
+ -
- { childrenWithProps } + {/* + darkMode ? : + */} + {/* + + */} +
+
+ { children } +
+
) diff --git a/components/layout.module.css b/components/layout.module.css new file mode 100644 index 0000000..fd4438d --- /dev/null +++ b/components/layout.module.css @@ -0,0 +1,7 @@ +.contentWrapper { + display: flex; + flex-direction: column; + min-height: 100vh; +} + +.contentContainer {} \ No newline at end of file diff --git a/components/nav.js b/components/nav.js index 35aebdf..c0a6691 100644 --- a/components/nav.js +++ b/components/nav.js @@ -2,49 +2,50 @@ import Link from "next/link"; import ThemeToggle from "./theme-toggle.js"; import dropdownStyles from "./dropdown.module.css"; import { useState } from "react"; +import styles from "./nav.module.css"; -export default function NavBar(props) { +export default function NavBar() { const [dropdownActive, setDropdownActive] = useState(false); const dropdownClick = () => { setDropdownActive(!dropdownActive); } return ( -