Commit Graph

23 Commits

Author SHA1 Message Date
Shahan Nedadahandeh 366e226520
Updated location of script
continuous-integration/drone/push Build is passing Details
2022-06-01 23:43:11 -07:00
Shahan Nedadahandeh b6129b3843
cleaned up
continuous-integration/drone/push Build is passing Details
2022-06-01 23:36:39 -07:00
Shahan Nedadahandeh be527c382e
Updated ci check
continuous-integration/drone/push Build is passing Details
2022-06-01 23:14:30 -07:00
Shahan Nedadahandeh a3bd8da8cc
Updated env check
continuous-integration/drone/push Build is passing Details
2022-06-01 23:13:30 -07:00
Shahan Nedadahandeh bead08ed09
updated warning
continuous-integration/drone/push Build is passing Details
2022-06-01 23:13:05 -07:00
Shahan Nedadahandeh 3d57bde02e
Testing warning on production
continuous-integration/drone/push Build is passing Details
2022-06-01 23:08:28 -07:00
Shahan Nedadahandeh bec8d006cf
fixed issue with file extensions being uppercase 2022-06-01 23:07:40 -07:00
Shahan Nedadahandeh 2bff6684db
Testing warning
continuous-integration/drone/push Build is passing Details
2022-06-01 23:01:11 -07:00
Shahan Nedadahandeh db38859bf8
Added warning when running in production 2022-06-01 23:00:24 -07:00
Shahan Nedadahandeh 085ad25348
Merge branch 'shahanneda/optimze-image-script' of https://git.csclub.uwaterloo.ca/www/www-new into shahanneda/optimze-image-script
continuous-integration/drone/push Build is passing Details
2022-06-01 21:15:00 -07:00
Shahan Nedadahandeh 06cf135218
Tested env 2022-06-01 21:13:32 -07:00
Shahan Nedadahandeh a29d5f4211
Updated naming for hashes 2022-06-01 21:13:28 -07:00
Shahan Nedadahandeh 9517e6d2c9
Updated naming for hashes
continuous-integration/drone/push Build is passing Details
2022-06-01 21:08:29 -07:00
Shahan Nedadahandeh a0a1e4626b
Cleaned script 2022-06-01 20:23:50 -07:00
Shahan Nedadahandeh 4f79c73cd3
Ran optimize image script
continuous-integration/drone/push Build is passing Details
2022-06-01 20:12:08 -07:00
Shahan Nedadahandeh c35e9dd44a
Added hashing to optimize-images script 2022-06-01 20:12:01 -07:00
Shahan Nedadahandeh 5263c6880d
added console logging to image script
continuous-integration/drone/push Build is failing Details
2022-06-01 19:12:54 -07:00
Shahan Nedadahandeh 6f6510a5ee
Reduced number of workers
continuous-integration/drone/push Build is failing Details
2022-06-01 18:57:52 -07:00
Shahan Nedadahandeh f12ffbb925 Add endDate to events (#446)
continuous-integration/drone/push Build is passing Details
Added endDate to events.
2022-05-25 20:58:12 -04:00
Shahan Nedadahandeh bb78a3d53d Warning Header (Closes #205) (#394)
continuous-integration/drone/push Build is passing Details
Update:
In order to solve the issues discussed below, we decided to put the warnings in a json file, since they can be easily imported into a javascript file and webpack automatically bundles them with the client side app, so no static props is needed.

__________

To get the warning data, since it is something that needs to be on all pages, it makes sense for the component to go in the app.js file (similar to the nav bar). However, next.js has a cumbersome issue that it does not support getStaticProps in the app.ts file (and getStaticProps only works in page files), thus we have no way of requesting the warning data easily in the \<WarningHeader\> Component. (https://github.com/vercel/next.js/discussions/10949)

Here is my solution:
- Request the warning data on the client side through the use of an api.
    - I made a warning api (/api/currentWarning) which sends a json of the current warning
    - Advantage: warnings will always be up to date since it is recalculated on every request
    - Advantage: It can potentially incorporate with other CSC services who might need to know about the warning (eg linktree?)
    - Disadvantage: can get expensive if we have a lot of warnings, to fix this I can cache the current warning and only re-read the files every 24h if this is a problem, but if we don’t have that many warnings I think it should be fine
    - Disadvantage: listed below:

The current problem with what I implemented is that it doesn’t build in the production environment:
- The way we build the website, when we call “next export” that disables any api endpoints.
- According to this https://github.com/vercel/vercel/discussions/6551, if we want to allow api endpoints, we have to just do “next build”. This has implications that the site won’t be completely static anymore, but the other solutions also have similar problems  ( though the GitHub post says that next will still optimize for static with only next build).

Another advantage of allowing api’s is that maybe in the future we will implement other features where an api might be useful.

If you want to try it out, my branch works fine locally (when just running npm run dev or npm run build”)

Other possible solutions:
- Use getInitialProps inside _app.js, but this has the downside that it will “disable Automatic Static Optimization in pages without Static Generation.” (https://nextjs.org/docs/advanced-features/custom-app), which I believe will slow the whole site down, but, we will be able to still use the old build command I think, I am not sure of the full effect of this.
	- However, implementing this would also be relatively simple.

- Add the warning request to the getStaticProps of every single page, possibly through some wrapper component around every single page, this has the disadvantage that we need to do a lot of refactoring of all the pages of the site and cant use the intended “_app.ts” wrapper.

- Add warning header only to the homepage (or maybe one or two other important pages).

Co-authored-by: shahanneda <shahan.neda@gmail.com>
Reviewed-on: #394
Reviewed-by: Amy <a258wang@csclub.uwaterloo.ca>
2022-02-22 23:29:53 -05:00
Amy Wang aae5c9adef Image Optimization Script (#348)
continuous-integration/drone/push Build is passing Details
A build-time script to optimize images. Note that going forward, all images should be placed in `images` instead of `public/images`.

Co-authored-by: Amy <a258wang@uwaterloo.ca>
Reviewed-on: #348
Reviewed-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Co-authored-by: Amy <a258wang@csclub.uwaterloo.ca>
Co-committed-by: Amy <a258wang@csclub.uwaterloo.ca>
2021-10-31 16:58:14 -04:00
Aditya Thakral 47352f4e82 Change date format for events and news (#343)
continuous-integration/drone/push Build is passing Details
https://csclub.uwaterloo.ca/~a3thakra/csc/adi-event-dates

Reviewed-on: #343
Reviewed-by: b38peng <b38peng@uwaterloo.ca>
Co-authored-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
Co-committed-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
2021-10-13 21:36:08 -04:00
Aditya Thakral 34fb652fb9 Dynamically generate event calendar (#332)
continuous-integration/drone/push Build is passing Details
Closes #134

- Dynamically generates the calendar before the export step
- I tested it with google calendar, updates are propagating as expected (it takes a day for google calendar to get updated)

You can try adding this URL to your calendar to test things out: https://csclub.uwaterloo.ca/~a3thakra/csc/adi-ical/events.ics

Reviewed-on: #332
Reviewed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Co-authored-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
Co-committed-by: Aditya Thakral <a3thakra@csclub.uwaterloo.ca>
2021-09-27 16:20:18 -04:00