From 03751df7674725cdbb6e44714c51d8ff231f4bd0 Mon Sep 17 00:00:00 2001 From: Basile Spaenlehauer Date: Thu, 25 Jan 2024 08:23:43 +0100 Subject: [PATCH] feat: use `date-fns` instead of `luxon` (#508) fix: remove unused constants and use latest favicon --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- app/all-collections/page.tsx | 5 +- public/graasp.svg => app/icon.svg | 26 +- app/layout.tsx | 9 +- cypress/e2e/myLists/myPublishments.cy.ts | 19 - package.json | 12 +- public/defaultAvatar.png | Bin 1665 -> 0 bytes public/favicon.ico | Bin 15406 -> 0 bytes public/homePageIcon.png | Bin 44404 -> 0 bytes public/icon.png | Bin 32439 -> 0 bytes src/components/collection/ChildrenCard.tsx | 14 +- src/components/collection/CopyButton.tsx | 10 +- src/components/collection/Items.tsx | 2 +- src/components/collection/summary/Summary.tsx | 11 +- src/config/constants.ts | 51 +-- src/utils/date.js | 9 - yarn.lock | 383 ++++-------------- 16 files changed, 122 insertions(+), 429 deletions(-) rename public/graasp.svg => app/icon.svg (82%) delete mode 100644 cypress/e2e/myLists/myPublishments.cy.ts delete mode 100644 public/defaultAvatar.png delete mode 100644 public/favicon.ico delete mode 100644 public/homePageIcon.png delete mode 100644 public/icon.png delete mode 100644 src/utils/date.js diff --git a/app/all-collections/page.tsx b/app/all-collections/page.tsx index df9ea53b..76f96940 100644 --- a/app/all-collections/page.tsx +++ b/app/all-collections/page.tsx @@ -1,5 +1,6 @@ import Head from 'next/head'; +import { Suspense } from 'react'; import { dehydrate } from 'react-query/core'; import Hydrate from '../../src/components/HydrateClient'; @@ -42,7 +43,9 @@ const Page = async () => { - + + + diff --git a/public/graasp.svg b/app/icon.svg similarity index 82% rename from public/graasp.svg rename to app/icon.svg index 0dc7adce..76b0fc3c 100644 --- a/public/graasp.svg +++ b/app/icon.svg @@ -5,31 +5,7 @@ viewBox="0 0 200 200" version="1.1" id="svg3" - sodipodi:docname="graasp.svg" - inkscape:version="1.2.2 (b0a84865, 2022-12-01)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - +> { // TODO: change lang - - {children} - + + + {children} + + ); diff --git a/cypress/e2e/myLists/myPublishments.cy.ts b/cypress/e2e/myLists/myPublishments.cy.ts deleted file mode 100644 index b51cc996..00000000 --- a/cypress/e2e/myLists/myPublishments.cy.ts +++ /dev/null @@ -1,19 +0,0 @@ -// todo: enable back when we have a proper page -// describe('My Published Items', () => { -// describe('Current user', () => { -// // check if title and headings are displayed correctly -// it('display published items', () => { -// cy.setUpApi({ currentMember: CURRENT_USER, items: PUBLISHED_ITEMS }); -// cy.visit(MY_LIST_ROUTE); - -// // click my publishment tab -// cy.get( -// `#${buildMyListNavigationTabId(MY_LIST_TAB_NAMES.MY_PUBLISHMENTS)}`, -// ).click(); - -// cy.get(`#${MY_PUBLISHED_COLLECTIONS_ID}`) -// .children() -// .should('have.length', getNumberOfOwnPublishedItems(CURRENT_USER.id)); -// }); -// }); -// }); diff --git a/package.json b/package.json index 400ad7bf..27526ec4 100644 --- a/package.json +++ b/package.json @@ -34,9 +34,9 @@ "@emotion/server": "11.11.0", "@emotion/styled": "11.11.0", "@graasp/query-client": "2.2.1", - "@graasp/sdk": "3.4.1", + "@graasp/sdk": "github:graasp/graasp-sdk#build-with-vite", "@graasp/translations": "1.22.1", - "@graasp/ui": "4.2.0", + "@graasp/ui": "4.3.1", "@mui/icons-material": "5.14.19", "@mui/lab": "5.0.0-alpha.140", "@mui/material": "5.14.19", @@ -45,6 +45,7 @@ "@testing-library/react": "14.1.2", "@testing-library/user-event": "14.5.1", "@trivago/prettier-plugin-sort-imports": "4.3.0", + "date-fns": "3.3.1", "eslint-config-next": "14.0.4", "http-status-codes": "2.3.0", "i18next": "23.7.16", @@ -53,8 +54,7 @@ "lodash.isobject": "3.0.2", "lodash.isstring": "4.0.1", "lodash.truncate": "4.4.2", - "luxon": "3.4.4", - "next": "14.0.4", + "next": "14.1.0", "react": "18.2.0", "react-dom": "18.2.0", "react-ga4": "2.1.0", @@ -73,7 +73,6 @@ "@cypress/code-coverage": "3.12.18", "@types/lodash.groupby": "4.6.9", "@types/lodash.truncate": "4.4.9", - "@types/luxon": "3.3.8", "@types/node": "20.10.8", "@types/react": "18.2.47", "@types/react-dom": "18.2.18", @@ -108,5 +107,8 @@ "pages/api/__coverage__.js" ] }, + "resolutions": { + "@graasp/sdk": "github:graasp/graasp-sdk#build-with-vite" + }, "packageManager": "yarn@4.0.2" } diff --git a/public/defaultAvatar.png b/public/defaultAvatar.png deleted file mode 100644 index e463120202f4a7d921382587d73fc5275da9826e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1665 zcmbW!eLT~7902g|Z@Vp@-`#96ivPIu9$PNJw#onTOp^-Rti4y1(x3^L_Z^`~7^suh0ASQFo}H0bO^F z8wWrT01z^OdJZ@^^Vv>bo_u?nAb3^8{tyA}fYs_XG?AGAaPk=LkQKL?)97I)+9DBqKc%nKb_i1S414bNANWFJEA0h)->GqG~g(B}nW zO(RK+!zT(gmu{@QL*~mz&8&l>QnYXehDHmG&6h2wTdY`XW4ms>oxQUQo8!94&3&7f zw~z03KmT39A)$h>@QCP`*aLC#2?viHO-)Nb_LcZ#*0HyC496 zWFh-U*gsrE#DzkmVKjE$1)<`Q1ryO26DtipCmuF1Qs0zuSd+BzL}BF}t)KT=d$|#R_DMSQ0$FbCEgoQ7N zupZ$!mNZrY^VNrt6AwuQaA-~P+NH=4a!~_{BOfo9_p^;Aq#{ES#72n-TnsgDN6Y(! zsxF`I25pMZouKu+#|5{!XazQ{V#Y1DuhaSJCq3C$T_^)8Us-qow#+1B(Qs+G*_+Bh zLsgc_S0EcSP*4iUd1XRVr}i6^K2?@)vORcFtn@s4H^=MhF*Qh7c5l|H+_RpkRk2o? zf5?7k4d`9$lQVG=H=0?aUE9 z&$$%Khmku@j|L6;Y~go&Z>`zKd(F^!M}h{GGSU?;Dky_L7n2kNVfv*z{XO^5nxYDi zr&k(PoGH$zvux-|Fe;s~9P|s>zBFO+hzlks|F&;)9Aj4c(l7G(n*i#zTp)QTWBOZh z=-}5j@n#{9g=fh=eJ|)1=`>VtFt1pbHvT~P(0}FYY}XjaN#-|6zzH%zv-ITP@^|=GLFp%1*9T(J>-FQ82cFpcbC6GlpBOE)mUg8}R(CCoU zWXIgvp^EgInmh~NBni4Rrdv?P7SV6nV6h6R#_nvWi0qx0Qtl@KP}@zx?H+B@A2S_B ze5_V=)|uZRlohAyO5669hdm`H+se{J@S(FFG+u22f6BGM0*f=yr`Bpi8 zftE|3DS@KGitfpBfwf1L8^^N>tPW>{4Jah{MH_Ct&=%_jZ1J&yli!$sI_ov(M-^4r z%v|VBOx`tH*t>+iAJ55;n%-kK$7(-9trh9q7c*DTK?O@`D;i$coXP%~Io3Nz;;|@K z?74KQ$l#=y4w@-fcr2W-HB?MTdrp^GAz7w diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index ea18d7313d2fcdf12e01917dacf2cc5d99db689b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15406 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 z 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 UM<{z1d>=35q?9Df#SQ)c2Luceq5uE@ diff --git a/src/components/collection/ChildrenCard.tsx b/src/components/collection/ChildrenCard.tsx index 717f1e5a..9f291269 100644 --- a/src/components/collection/ChildrenCard.tsx +++ b/src/components/collection/ChildrenCard.tsx @@ -1,4 +1,3 @@ -import { DateTime } from 'luxon'; import dynamic from 'next/dynamic'; import Link from 'next/link'; @@ -15,7 +14,12 @@ import { } from '@mui/material'; import Typography from '@mui/material/Typography'; -import { DiscriminatedItem, ItemType, ThumbnailSize } from '@graasp/sdk'; +import { + DiscriminatedItem, + ItemType, + ThumbnailSize, + formatDate, +} from '@graasp/sdk'; import { COLLECTION_CARD_BORDER_RADIUS } from '../../config/cssStyles'; import { useLibraryTranslation } from '../../config/i18n'; @@ -133,7 +137,7 @@ export const SubItemCard: React.FC = ({ type FileChildrenCardProps = { item: DiscriminatedItem; - lang?: string; + lang: string; }; export const FileChildrenCard: React.FC = ({ @@ -153,9 +157,7 @@ export const FileChildrenCard: React.FC = ({ const subtext = item.updatedAt ? t(LIBRARY.SUMMARY_BROWSE_FILE_UPDATED, { - date: DateTime.fromMillis( - new Date(item.updatedAt).getTime(), - ).toLocaleString(DateTime.DATE_FULL, { locale: lang }), + date: formatDate(item.updatedAt, { locale: lang }), }) : '...'; diff --git a/src/components/collection/CopyButton.tsx b/src/components/collection/CopyButton.tsx index afc32686..a7e62cbc 100644 --- a/src/components/collection/CopyButton.tsx +++ b/src/components/collection/CopyButton.tsx @@ -5,7 +5,6 @@ import CircularProgress from '@mui/material/CircularProgress'; import IconButton from '@mui/material/IconButton'; import Tooltip from '@mui/material/Tooltip'; -import { ROOT_ID } from '../../config/constants'; import { useLibraryTranslation } from '../../config/i18n'; import { TREE_MODAL_MY_ITEMS_ID, @@ -42,11 +41,10 @@ export const useCopyAction = (id?: string) => { ids: [id], }; - payload.to = [ - ROOT_ID, - TREE_MODAL_MY_ITEMS_ID, - TREE_MODAL_SHARED_ITEMS_ID, - ].includes(to) + // if the location to copy the item is MyItems or SharedItems root, then set the payload.to argument to be undefined + payload.to = [TREE_MODAL_MY_ITEMS_ID, TREE_MODAL_SHARED_ITEMS_ID].includes( + to, + ) ? undefined : to; diff --git a/src/components/collection/Items.tsx b/src/components/collection/Items.tsx index 6b0679d1..61e08037 100644 --- a/src/components/collection/Items.tsx +++ b/src/components/collection/Items.tsx @@ -83,7 +83,7 @@ const CollapsibleItemCategory: React.FC = ({ type ItemsProps = { parentId: string; - lang: string | undefined; + lang: string; isTopLevel: boolean; }; diff --git a/src/components/collection/summary/Summary.tsx b/src/components/collection/summary/Summary.tsx index 6b2508fd..85652292 100644 --- a/src/components/collection/summary/Summary.tsx +++ b/src/components/collection/summary/Summary.tsx @@ -6,12 +6,9 @@ import { Stack, Typography } from '@mui/material'; import Box from '@mui/material/Box'; import Container from '@mui/material/Container'; -import { DiscriminatedItem, ItemPublished } from '@graasp/sdk'; +import { DiscriminatedItem, ItemPublished, ItemType } from '@graasp/sdk'; -import { - ITEM_TYPES, - MAX_COLLECTION_NAME_LENGTH, -} from '../../../config/constants'; +import { MAX_COLLECTION_NAME_LENGTH } from '../../../config/constants'; import { useLibraryTranslation } from '../../../config/i18n'; import LIBRARY from '../../../langs/constants'; import { QueryClientContext } from '../../QueryClientContext'; @@ -88,13 +85,13 @@ const Summary = ({ truncatedName={truncatedName} totalViews={totalViews} /> - {collection?.type === ITEM_TYPES.FOLDER && ( + {collection?.type === ItemType.FOLDER && ( <> diff --git a/src/config/constants.ts b/src/config/constants.ts index 2afce1e8..dade3a74 100644 --- a/src/config/constants.ts +++ b/src/config/constants.ts @@ -1,57 +1,16 @@ -import { CategoryType, ThumbnailSize } from '@graasp/sdk'; - -export const GRAASP_LOGO_HEADER_HEIGHT = 40; +import { CategoryType } from '@graasp/sdk'; export const APP_NAME = 'Graasp'; export const APP_KEYWORDS = ['graasp', 'library']; export const APP_AUTHOR = 'Graasp'; -export const DEFAULT_LANG = 'en'; -export const DEFAULT_USER_NAME = 'Anonymous'; export const DEFAULT_THUMBNAIL_ALT_TEXT = 'Thumbnail'; -export const MIN_CARD_WIDTH = 345; - -// math -export const BLOCK_MATH_DIV = 'p'; -export const INLINE_MATH_DIV = 'span'; -export const BLOCK_MATH_INDICATOR = '\\['; -export const INLINE_MATH_INDICATOR = '\\('; -export const BLOCK_MATH_REGEX = /(\\\[(.*?)\\])/g; -export const INLINE_MATH_REGEX = /(\\\((.*?)\\\))/g; - -export const ITEM_TYPES = { - FOLDER: 'folder', -}; - -export const MIME_TYPES = { - HTML: 'text/html', - TEXT: 'text/plain', -}; - -export const MEMBER_TYPES = { - OWNER: 'owner', - CONTRIBUTOR: 'contributor', -}; - -export const ROOT_ID = 'ROOT'; -export const TREE_VIEW_HEIGHT = 300; -export const TREE_VIEW_MIN_WIDTH = 350; - export const TWITTER_MESSAGE_MAX_LENGTH = 270; export const MAIL_BREAK_LINE = '%0D%0A'; -export const LEFT_MENU_WIDTH = 300; - -export const PICTURE_QUALITIES = { - LARGE: 'large', - MEDIUM: 'medium', -}; -export const DEFAULT_PICTURE_QUALITY = PICTURE_QUALITIES.LARGE; export const MAX_COLLECTION_NAME_LENGTH = 100; -export const CLIENT_ERROR_MESSAGE = 'Something went wrong!'; export const DEFAULT_ITEM_IMAGE_PATH = '/libraryDefault.svg'; -// export const DEFAULT_MEMBER_THUMBNAIL = '/defaultAvatar.png'; export const DEFAULT_MEMBER_THUMBNAIL = `data:image/svg+xml,${encodeURIComponent(` @@ -60,20 +19,12 @@ export const DEFAULT_MEMBER_THUMBNAIL = `data:image/svg+xml,${encodeURIComponent export const SMALL_AVATAR_ICON_SIZE = 30; export const MEMBER_AVATAR_ICON_SIZE = 40; -export const DEFAULT_THUMBNAIL_SIZE = ThumbnailSize.Medium; - export const UrlSearch = { KeywordSearch: 's', CategorySearch: 'category', GACrossDomainKey: '_gl', }; -export const MY_LIST_TAB_NAMES = { - MY_LIKES: 'myLikes', - MY_FAVORITES: 'myFavorites', - MY_PUBLISHMENTS: 'myPublishments', -}; - export const ENV = { DEVELOPMENT: 'development', PRODUCTION: 'production', diff --git a/src/utils/date.js b/src/utils/date.js deleted file mode 100644 index f7b2e7b1..00000000 --- a/src/utils/date.js +++ /dev/null @@ -1,9 +0,0 @@ -import { DEFAULT_LANG } from '@graasp/sdk'; - -// eslint-disable-next-line import/prefer-default-export -export const formatDate = (published) => { - const datetime = new Date(published); - const time = datetime.toLocaleTimeString(DEFAULT_LANG); - const date = datetime.toLocaleDateString(DEFAULT_LANG); - return `${time} ${date}`; -}; diff --git a/yarn.lock b/yarn.lock index 0f46acd7..351c74c9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -824,19 +824,6 @@ __metadata: languageName: node linkType: hard -"@graasp/etherpad-api@npm:2.1.1": - version: 2.1.1 - resolution: "@graasp/etherpad-api@npm:2.1.1" - dependencies: - "@types/sanitize-html": "npm:^2.9.0" - axios: "npm:^1.3.5" - compare-versions: "npm:^3.4.0" - http-errors: "npm:^1.7.1" - sanitize-html: "npm:^2.10.0" - checksum: e78819acfe6a4f28fdc5725129d1b82e26fd271e5f32070e8170b757f79567c5575569373e5d7fd8f3c966c535e5b83b9ef98ab3707666c2029c085564f9dbc9 - languageName: node - linkType: hard - "@graasp/query-client@npm:2.2.1": version: 2.2.1 resolution: "@graasp/query-client@npm:2.2.1" @@ -855,28 +842,16 @@ __metadata: languageName: node linkType: hard -"@graasp/sdk@npm:3.3.0": - version: 3.3.0 - resolution: "@graasp/sdk@npm:3.3.0" - dependencies: - "@graasp/etherpad-api": "npm:2.1.1" - date-fns: "npm:2.30.0" - js-cookie: "npm:3.0.5" - uuid: "npm:9.0.1" - validator: "npm:13.11.0" - checksum: 12a11bfb2ff35d4fdccc38ad10fab8fe4ee4f7cea2a26ac17040d8758e2cf86070cbfa0c02243bb7efc3410f1abd5d0e18834dc6f6226bb216b33e0f83b19e2d - languageName: node - linkType: hard - -"@graasp/sdk@npm:3.4.1": - version: 3.4.1 - resolution: "@graasp/sdk@npm:3.4.1" +"@graasp/sdk@github:graasp/graasp-sdk#build-with-vite": + version: 3.5.0 + resolution: "@graasp/sdk@https://github.com/graasp/graasp-sdk.git#commit=88497ac7ecf9ae965ea13058ded821443c18b0a3" dependencies: - date-fns: "npm:3.2.0" js-cookie: "npm:3.0.5" - uuid: "npm:9.0.1" validator: "npm:13.11.0" - checksum: 6bf2d3fbb28d61a457a534628620982a656258ab2e5c101294da8e7e4327eacff526378983c4e06a85f0115e0547325f9dbece793f7f4bc6129aa8909a42a24b + peerDependencies: + date-fns: ^3 + uuid: ^9 + checksum: e1fba51be2f76091c6b1c0dcdbc33e6a3cac9effe40d42a144ddc0632c9c1a110f808445f298f319ea8135fb2a28c8ca47a31c63ae6e9dfb051f8a9d9cecd9ac languageName: node linkType: hard @@ -898,11 +873,11 @@ __metadata: languageName: node linkType: hard -"@graasp/ui@npm:4.2.0": - version: 4.2.0 - resolution: "@graasp/ui@npm:4.2.0" +"@graasp/ui@npm:4.3.1": + version: 4.3.1 + resolution: "@graasp/ui@npm:4.3.1" dependencies: - "@graasp/sdk": "npm:3.3.0" + "@graasp/sdk": "npm:3.4.1" http-status-codes: "npm:2.3.0" katex: "npm:0.16.9" lodash.truncate: "npm:4.4.2" @@ -918,15 +893,15 @@ __metadata: "@emotion/cache": ~11.10.7 || ~11.11.0 "@emotion/react": ~11.10.6 || ~11.11.0 "@emotion/styled": ~11.10.6 || ~11.11.0 - "@mui/icons-material": ~5.11.9 || ~5.13.0 || ~5.14.0 + "@mui/icons-material": ~5.11.9 || ~5.13.0 || ~5.14.0 || ~5.15.0 "@mui/lab": ~5.0.0-alpha.120 - "@mui/material": ~5.11.9 || ~5.13.0 || ~5.14.0 + "@mui/material": ~5.11.9 || ~5.13.0 || ~5.14.0 || ~5.15.0 ag-grid-community: 29.3.5 ag-grid-react: 29.3.5 i18next: ^22.4.15 || ^23.0.0 - react: ^17.0.2 - react-dom: ^17.0.2 - react-i18next: ^12.2.0 || ^13.0.0 + react: ^18.2.0 + react-dom: ^18.2.0 + react-i18next: ^13.5.0 react-router-dom: ^6.11.0 stylis: ^4.1.3 stylis-plugin-rtl: ^2.1.1 @@ -935,7 +910,7 @@ __metadata: optional: true ag-grid-react: optional: true - checksum: 364a5da87b2c13296e2fc16bd464e5ea31552b614da99eabdbd137daa98c152bf3184e72ee9ec3962804dc0e096f111aa72c6f199041f245aefde40b74c79c12 + checksum: b5cf0290dda520c2bd65c2834c415ac3d376569a2a2765f1b1bd855cb1a8e5d582c94213433383b8b632f598007d96a774cbacf10702f3c14f1def563e677409 languageName: node linkType: hard @@ -1386,10 +1361,10 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:14.0.4": - version: 14.0.4 - resolution: "@next/env@npm:14.0.4" - checksum: 781eede471730264812d8c744d33eb42da997b4403b06a5b0e58597645152af21f3619a6cb8fc0ba1c1b26d89910c0a8ade6d4242ae13d0b7baa70e3a83cac0f +"@next/env@npm:14.1.0": + version: 14.1.0 + resolution: "@next/env@npm:14.1.0" + checksum: 8651faab7827026fe9df32f32f3dc743ca93707fabe6ec8e75ee60bd94781afee8093514e2108d2b2f03198d0a74fc6152d9e73ea01125e89402f068a8516915 languageName: node linkType: hard @@ -1402,65 +1377,65 @@ __metadata: languageName: node linkType: hard -"@next/swc-darwin-arm64@npm:14.0.4": - version: 14.0.4 - resolution: "@next/swc-darwin-arm64@npm:14.0.4" +"@next/swc-darwin-arm64@npm:14.1.0": + version: 14.1.0 + resolution: "@next/swc-darwin-arm64@npm:14.1.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@next/swc-darwin-x64@npm:14.0.4": - version: 14.0.4 - resolution: "@next/swc-darwin-x64@npm:14.0.4" +"@next/swc-darwin-x64@npm:14.1.0": + version: 14.1.0 + resolution: "@next/swc-darwin-x64@npm:14.1.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:14.0.4": - version: 14.0.4 - resolution: "@next/swc-linux-arm64-gnu@npm:14.0.4" +"@next/swc-linux-arm64-gnu@npm:14.1.0": + version: 14.1.0 + resolution: "@next/swc-linux-arm64-gnu@npm:14.1.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:14.0.4": - version: 14.0.4 - resolution: "@next/swc-linux-arm64-musl@npm:14.0.4" +"@next/swc-linux-arm64-musl@npm:14.1.0": + version: 14.1.0 + resolution: "@next/swc-linux-arm64-musl@npm:14.1.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:14.0.4": - version: 14.0.4 - resolution: "@next/swc-linux-x64-gnu@npm:14.0.4" +"@next/swc-linux-x64-gnu@npm:14.1.0": + version: 14.1.0 + resolution: "@next/swc-linux-x64-gnu@npm:14.1.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:14.0.4": - version: 14.0.4 - resolution: "@next/swc-linux-x64-musl@npm:14.0.4" +"@next/swc-linux-x64-musl@npm:14.1.0": + version: 14.1.0 + resolution: "@next/swc-linux-x64-musl@npm:14.1.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:14.0.4": - version: 14.0.4 - resolution: "@next/swc-win32-arm64-msvc@npm:14.0.4" +"@next/swc-win32-arm64-msvc@npm:14.1.0": + version: 14.1.0 + resolution: "@next/swc-win32-arm64-msvc@npm:14.1.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@next/swc-win32-ia32-msvc@npm:14.0.4": - version: 14.0.4 - resolution: "@next/swc-win32-ia32-msvc@npm:14.0.4" +"@next/swc-win32-ia32-msvc@npm:14.1.0": + version: 14.1.0 + resolution: "@next/swc-win32-ia32-msvc@npm:14.1.0" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@next/swc-win32-x64-msvc@npm:14.0.4": - version: 14.0.4 - resolution: "@next/swc-win32-x64-msvc@npm:14.0.4" +"@next/swc-win32-x64-msvc@npm:14.1.0": + version: 14.1.0 + resolution: "@next/swc-win32-x64-msvc@npm:14.1.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1950,13 +1925,6 @@ __metadata: languageName: node linkType: hard -"@types/luxon@npm:3.3.8": - version: 3.3.8 - resolution: "@types/luxon@npm:3.3.8" - checksum: 2176c394e7ee3b8580e9f30bedac29048fabe32589c6561a9654b242b9c2c08ff9b93206f0eca07e495f900a352ac1446236c310eacda574b3c2d6238a9173a7 - languageName: node - linkType: hard - "@types/minimist@npm:^1.2.0": version: 1.2.4 resolution: "@types/minimist@npm:1.2.4" @@ -2086,15 +2054,6 @@ __metadata: languageName: node linkType: hard -"@types/sanitize-html@npm:^2.9.0": - version: 2.9.3 - resolution: "@types/sanitize-html@npm:2.9.3" - dependencies: - htmlparser2: "npm:^8.0.0" - checksum: 882a39ec767e0c5fd4402108db4b8e4f85ff555cf490ad8c7340d9c58c57c3ffefa33c0d248d5e67047df6f744ca60e125da5485efc18ac450783f3900178373 - languageName: node - linkType: hard - "@types/scheduler@npm:*": version: 0.16.5 resolution: "@types/scheduler@npm:0.16.5" @@ -2866,17 +2825,6 @@ __metadata: languageName: node linkType: hard -"axios@npm:^1.3.5": - version: 1.5.1 - resolution: "axios@npm:1.5.1" - dependencies: - follow-redirects: "npm:^1.15.0" - form-data: "npm:^4.0.0" - proxy-from-env: "npm:^1.1.0" - checksum: 67633db5867c789a6edb6e5229884501bef89584a6718220c243fd5a64de4ea7dcdfdf4f8368a672d582db78aaa9f8d7b619d39403b669f451e1242bbd4c7ee2 - languageName: node - linkType: hard - "axios@npm:^1.6.1": version: 1.6.2 resolution: "axios@npm:1.6.2" @@ -3148,13 +3096,20 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001406, caniuse-lite@npm:^1.0.30001541": +"caniuse-lite@npm:^1.0.30001541": version: 1.0.30001554 resolution: "caniuse-lite@npm:1.0.30001554" checksum: 21610b6884f8a383c4de77b1fed073133287988c5950c3d318b8829f01a5dac2f58648c16a6cef5bcf455ccc85f1b3380f00ddf2dbb73a97e611bdce28c6026d languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001579": + version: 1.0.30001579 + resolution: "caniuse-lite@npm:1.0.30001579" + checksum: 2cd0c02e5d66b09888743ad2b624dbde697ace5c76b55bfd6065ea033f6abea8ac3f5d3c9299c042f91b396e2141b49bc61f5e17086dc9ba3a866cc6790134c0 + languageName: node + linkType: hard + "caseless@npm:~0.12.0": version: 0.12.0 resolution: "caseless@npm:0.12.0" @@ -3437,13 +3392,6 @@ __metadata: languageName: node linkType: hard -"compare-versions@npm:^3.4.0": - version: 3.6.0 - resolution: "compare-versions@npm:3.6.0" - checksum: 7492a50cdaa2c27f5254eee7c4b38856e1c164991bab3d98d7fd067fe4b570d47123ecb92523b78338be86aa221668fd3868bfe8caa5587dc3ebbe1a03d52b5d - languageName: node - linkType: hard - "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -3918,7 +3866,14 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:2.30.0, date-fns@npm:^2.30.0": +"date-fns@npm:3.3.1": + version: 3.3.1 + resolution: "date-fns@npm:3.3.1" + checksum: 98231936765dfb6fc6897676319b500a06a39f051b2c3ecbdd541a07ce9b1344b770277b8bfb1049fb7a2f70bf365ac8e6f1e2bb452b10e1a8101d518ca7f95d + languageName: node + linkType: hard + +"date-fns@npm:^2.30.0": version: 2.30.0 resolution: "date-fns@npm:2.30.0" dependencies: @@ -3927,13 +3882,6 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:3.2.0": - version: 3.2.0 - resolution: "date-fns@npm:3.2.0" - checksum: 2f36cb9165a066ae90c0b6f0c25b3c70eb75bc52e64ba6dd8680964ebda144851a244ff4ed0b2afb4a6bab796a1af6a0e6c7c2814529d04c72fa434f931d4e81 - languageName: node - linkType: hard - "dateformat@npm:^3.0.0": version: 3.0.3 resolution: "dateformat@npm:3.0.3" @@ -4033,13 +3981,6 @@ __metadata: languageName: node linkType: hard -"deepmerge@npm:^4.2.2": - version: 4.3.1 - resolution: "deepmerge@npm:4.3.1" - checksum: 058d9e1b0ff1a154468bf3837aea436abcfea1ba1d165ddaaf48ca93765fdd01a30d33c36173da8fbbed951dd0a267602bc782fe288b0fc4b7e1e7091afc4529 - languageName: node - linkType: hard - "default-require-extensions@npm:^3.0.0": version: 3.0.1 resolution: "default-require-extensions@npm:3.0.1" @@ -4085,13 +4026,6 @@ __metadata: languageName: node linkType: hard -"depd@npm:~1.1.2": - version: 1.1.2 - resolution: "depd@npm:1.1.2" - checksum: 2ed6966fc14463a9e85451db330ab8ba041efed0b9a1a472dbfc6fbf2f82bab66491915f996b25d8517dddc36c8c74e24c30879b34877f3c4410733444a51d1d - languageName: node - linkType: hard - "dequal@npm:^2.0.3": version: 2.0.3 resolution: "dequal@npm:2.0.3" @@ -4164,44 +4098,6 @@ __metadata: languageName: node linkType: hard -"dom-serializer@npm:^2.0.0": - version: 2.0.0 - resolution: "dom-serializer@npm:2.0.0" - dependencies: - domelementtype: "npm:^2.3.0" - domhandler: "npm:^5.0.2" - entities: "npm:^4.2.0" - checksum: e3bf9027a64450bca0a72297ecdc1e3abb7a2912268a9f3f5d33a2e29c1e2c3502c6e9f860fc6625940bfe0cfb57a44953262b9e94df76872fdfb8151097eeb3 - languageName: node - linkType: hard - -"domelementtype@npm:^2.3.0": - version: 2.3.0 - resolution: "domelementtype@npm:2.3.0" - checksum: ee837a318ff702622f383409d1f5b25dd1024b692ef64d3096ff702e26339f8e345820f29a68bcdcea8cfee3531776b3382651232fbeae95612d6f0a75efb4f6 - languageName: node - linkType: hard - -"domhandler@npm:^5.0.2, domhandler@npm:^5.0.3": - version: 5.0.3 - resolution: "domhandler@npm:5.0.3" - dependencies: - domelementtype: "npm:^2.3.0" - checksum: 809b805a50a9c6884a29f38aec0a4e1b4537f40e1c861950ed47d10b049febe6b79ab72adaeeebb3cc8fc1cd33f34e97048a72a9265103426d93efafa78d3e96 - languageName: node - linkType: hard - -"domutils@npm:^3.0.1": - version: 3.1.0 - resolution: "domutils@npm:3.1.0" - dependencies: - dom-serializer: "npm:^2.0.0" - domelementtype: "npm:^2.3.0" - domhandler: "npm:^5.0.3" - checksum: 9a169a6e57ac4c738269a73ab4caf785114ed70e46254139c1bbc8144ac3102aacb28a6149508395ae34aa5d6a40081f4fa5313855dc8319c6d8359866b6dfea - languageName: node - linkType: hard - "dot-prop@npm:^5.1.0": version: 5.3.0 resolution: "dot-prop@npm:5.3.0" @@ -4323,13 +4219,6 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.2.0, entities@npm:^4.4.0": - version: 4.5.0 - resolution: "entities@npm:4.5.0" - checksum: ede2a35c9bce1aeccd055a1b445d41c75a14a2bb1cd22e242f20cf04d236cdcd7f9c859eb83f76885327bfae0c25bf03303665ee1ce3d47c5927b98b0e3e3d48 - languageName: node - linkType: hard - "env-cmd@npm:10.1.0": version: 10.1.0 resolution: "env-cmd@npm:10.1.0" @@ -5642,13 +5531,6 @@ __metadata: languageName: node linkType: hard -"glob-to-regexp@npm:^0.4.1": - version: 0.4.1 - resolution: "glob-to-regexp@npm:0.4.1" - checksum: 9009529195a955c40d7b9690794aeff5ba665cc38f1519e111c58bb54366fd0c106bde80acf97ba4e533208eb53422c83b136611a54c5fefb1edd8dc267cb62e - languageName: node - linkType: hard - "glob@npm:7.1.7": version: 7.1.7 resolution: "glob@npm:7.1.7" @@ -5783,9 +5665,9 @@ __metadata: "@emotion/server": "npm:11.11.0" "@emotion/styled": "npm:11.11.0" "@graasp/query-client": "npm:2.2.1" - "@graasp/sdk": "npm:3.4.1" + "@graasp/sdk": "github:graasp/graasp-sdk#build-with-vite" "@graasp/translations": "npm:1.22.1" - "@graasp/ui": "npm:4.2.0" + "@graasp/ui": "npm:4.3.1" "@mui/icons-material": "npm:5.14.19" "@mui/lab": "npm:5.0.0-alpha.140" "@mui/material": "npm:5.14.19" @@ -5796,7 +5678,6 @@ __metadata: "@trivago/prettier-plugin-sort-imports": "npm:4.3.0" "@types/lodash.groupby": "npm:4.6.9" "@types/lodash.truncate": "npm:4.4.9" - "@types/luxon": "npm:3.3.8" "@types/node": "npm:20.10.8" "@types/react": "npm:18.2.47" "@types/react-dom": "npm:18.2.18" @@ -5806,6 +5687,7 @@ __metadata: "@typescript-eslint/parser": "npm:6.18.1" concurrently: "npm:8.2.2" cypress: "npm:13.6.2" + date-fns: "npm:3.3.1" env-cmd: "npm:10.1.0" eslint: "npm:8.56.0" eslint-config-airbnb: "npm:19.0.4" @@ -5826,8 +5708,7 @@ __metadata: lodash.isobject: "npm:3.0.2" lodash.isstring: "npm:4.0.1" lodash.truncate: "npm:4.4.2" - luxon: "npm:3.4.4" - next: "npm:14.0.4" + next: "npm:14.1.0" nyc: "npm:15.1.0" prettier: "npm:3.1.1" qs: "npm:6.11.2" @@ -6037,18 +5918,6 @@ __metadata: languageName: node linkType: hard -"htmlparser2@npm:^8.0.0": - version: 8.0.2 - resolution: "htmlparser2@npm:8.0.2" - dependencies: - domelementtype: "npm:^2.3.0" - domhandler: "npm:^5.0.3" - domutils: "npm:^3.0.1" - entities: "npm:^4.4.0" - checksum: ea5512956eee06f5835add68b4291d313c745e8407efa63848f4b8a90a2dee45f498a698bca8614e436f1ee0cfdd609938b71d67c693794545982b76e53e6f11 - languageName: node - linkType: hard - "http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" @@ -6056,19 +5925,6 @@ __metadata: languageName: node linkType: hard -"http-errors@npm:^1.7.1": - version: 1.8.1 - resolution: "http-errors@npm:1.8.1" - dependencies: - depd: "npm:~1.1.2" - inherits: "npm:2.0.4" - setprototypeof: "npm:1.2.0" - statuses: "npm:>= 1.5.0 < 2" - toidentifier: "npm:1.0.1" - checksum: 76fc491bd8df2251e21978e080d5dae20d9736cfb29bb72b5b76ec1bcebb1c14f0f58a3a128dd89288934379d2173cfb0421c571d54103e93dd65ef6243d64d8 - languageName: node - linkType: hard - "http-proxy-agent@npm:^5.0.0": version: 5.0.0 resolution: "http-proxy-agent@npm:5.0.0" @@ -6222,7 +6078,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:~2.0.1, inherits@npm:~2.0.3": +"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:~2.0.1, inherits@npm:~2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521 @@ -6473,13 +6329,6 @@ __metadata: languageName: node linkType: hard -"is-plain-object@npm:^5.0.0": - version: 5.0.0 - resolution: "is-plain-object@npm:5.0.0" - checksum: e32d27061eef62c0847d303125440a38660517e586f2f3db7c9d179ae5b6674ab0f469d519b2e25c147a1a3bc87156d0d5f4d8821e0ce4a9ee7fe1fcf11ce45c - languageName: node - linkType: hard - "is-reference@npm:1.2.1": version: 1.2.1 resolution: "is-reference@npm:1.2.1" @@ -7321,13 +7170,6 @@ __metadata: languageName: node linkType: hard -"luxon@npm:3.4.4": - version: 3.4.4 - resolution: "luxon@npm:3.4.4" - checksum: c14164bc338987349075a08e63ea3ff902866735f7f5553a355b27be22667919765ff96fde4d3413d0e9a0edc4ff9e2e74ebcb8f86eae0ce8b14b27330d87d6e - languageName: node - linkType: hard - "lz-string@npm:^1.5.0": version: 1.5.0 resolution: "lz-string@npm:1.5.0" @@ -7717,27 +7559,26 @@ __metadata: languageName: node linkType: hard -"next@npm:14.0.4": - version: 14.0.4 - resolution: "next@npm:14.0.4" - dependencies: - "@next/env": "npm:14.0.4" - "@next/swc-darwin-arm64": "npm:14.0.4" - "@next/swc-darwin-x64": "npm:14.0.4" - "@next/swc-linux-arm64-gnu": "npm:14.0.4" - "@next/swc-linux-arm64-musl": "npm:14.0.4" - "@next/swc-linux-x64-gnu": "npm:14.0.4" - "@next/swc-linux-x64-musl": "npm:14.0.4" - "@next/swc-win32-arm64-msvc": "npm:14.0.4" - "@next/swc-win32-ia32-msvc": "npm:14.0.4" - "@next/swc-win32-x64-msvc": "npm:14.0.4" +"next@npm:14.1.0": + version: 14.1.0 + resolution: "next@npm:14.1.0" + dependencies: + "@next/env": "npm:14.1.0" + "@next/swc-darwin-arm64": "npm:14.1.0" + "@next/swc-darwin-x64": "npm:14.1.0" + "@next/swc-linux-arm64-gnu": "npm:14.1.0" + "@next/swc-linux-arm64-musl": "npm:14.1.0" + "@next/swc-linux-x64-gnu": "npm:14.1.0" + "@next/swc-linux-x64-musl": "npm:14.1.0" + "@next/swc-win32-arm64-msvc": "npm:14.1.0" + "@next/swc-win32-ia32-msvc": "npm:14.1.0" + "@next/swc-win32-x64-msvc": "npm:14.1.0" "@swc/helpers": "npm:0.5.2" busboy: "npm:1.6.0" - caniuse-lite: "npm:^1.0.30001406" + caniuse-lite: "npm:^1.0.30001579" graceful-fs: "npm:^4.2.11" postcss: "npm:8.4.31" styled-jsx: "npm:5.1.1" - watchpack: "npm:2.4.0" peerDependencies: "@opentelemetry/api": ^1.1.0 react: ^18.2.0 @@ -7769,7 +7610,7 @@ __metadata: optional: true bin: next: dist/bin/next - checksum: f119dfed59ba14972759bbc354fd2e99793c5a31689465a5e7cacd329977ed3d259eb756142bef31e96f28a80a00997e76314425faeda4c6fcf4e4ad6c5fa960 + checksum: 1db512c5c82f7ea423a2651a28950d398f49f03df6213630aefdf083d5260edeeed8d995b90c3c8742c0a2346025e748d28078a6261d316fcdade4c5c788e986 languageName: node linkType: hard @@ -8213,13 +8054,6 @@ __metadata: languageName: node linkType: hard -"parse-srcset@npm:^1.0.2": - version: 1.0.2 - resolution: "parse-srcset@npm:1.0.2" - checksum: d40c131cfc3ab7bb6333b788d30a30d063d76a83b49fa752229823f96475e36cf29fea09e035ce3b2a634b686e93e2a7429cb8dad0041d8a3a3df622093b9ea1 - languageName: node - linkType: hard - "path-exists@npm:^3.0.0": version: 3.0.0 resolution: "path-exists@npm:3.0.0" @@ -8332,7 +8166,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.31, postcss@npm:^8.3.11": +"postcss@npm:8.4.31": version: 8.4.31 resolution: "postcss@npm:8.4.31" dependencies: @@ -9183,20 +9017,6 @@ __metadata: languageName: node linkType: hard -"sanitize-html@npm:^2.10.0": - version: 2.11.0 - resolution: "sanitize-html@npm:2.11.0" - dependencies: - deepmerge: "npm:^4.2.2" - escape-string-regexp: "npm:^4.0.0" - htmlparser2: "npm:^8.0.0" - is-plain-object: "npm:^5.0.0" - parse-srcset: "npm:^1.0.2" - postcss: "npm:^8.3.11" - checksum: 452029f5b15ef6b41729f7f45ee853d020ed0859388534bd9b959d78bb0df6d9dcaff6103a8c16597a5a21ee63f00127ce387d16b7a6538174081abac9d34031 - languageName: node - linkType: hard - "scheduler@npm:^0.23.0": version: 0.23.0 resolution: "scheduler@npm:0.23.0" @@ -9265,13 +9085,6 @@ __metadata: languageName: node linkType: hard -"setprototypeof@npm:1.2.0": - version: 1.2.0 - resolution: "setprototypeof@npm:1.2.0" - checksum: fde1630422502fbbc19e6844346778f99d449986b2f9cdcceb8326730d2f3d9964dbcb03c02aaadaefffecd0f2c063315ebea8b3ad895914bf1afc1747fc172e - languageName: node - linkType: hard - "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -9574,13 +9387,6 @@ __metadata: languageName: node linkType: hard -"statuses@npm:>= 1.5.0 < 2": - version: 1.5.0 - resolution: "statuses@npm:1.5.0" - checksum: c469b9519de16a4bb19600205cffb39ee471a5f17b82589757ca7bd40a8d92ebb6ed9f98b5a540c5d302ccbc78f15dc03cc0280dd6e00df1335568a5d5758a5c - languageName: node - linkType: hard - "stop-iteration-iterator@npm:^1.0.0": version: 1.0.0 resolution: "stop-iteration-iterator@npm:1.0.0" @@ -9962,13 +9768,6 @@ __metadata: languageName: node linkType: hard -"toidentifier@npm:1.0.1": - version: 1.0.1 - resolution: "toidentifier@npm:1.0.1" - checksum: 952c29e2a85d7123239b5cfdd889a0dde47ab0497f0913d70588f19c53f7e0b5327c95f4651e413c74b785147f9637b17410ac8c846d5d4a20a5a33eb6dc3a45 - languageName: node - linkType: hard - "tough-cookie@npm:^4.1.3": version: 4.1.3 resolution: "tough-cookie@npm:4.1.3" @@ -10411,16 +10210,6 @@ __metadata: languageName: node linkType: hard -"watchpack@npm:2.4.0": - version: 2.4.0 - resolution: "watchpack@npm:2.4.0" - dependencies: - glob-to-regexp: "npm:^0.4.1" - graceful-fs: "npm:^4.1.2" - checksum: 4280b45bc4b5d45d5579113f2a4af93b67ae1b9607cc3d86ae41cdd53ead10db5d9dc3237f24256d05ef88b28c69a02712f78e434cb7ecc8edaca134a56e8cab - languageName: node - linkType: hard - "webidl-conversions@npm:^3.0.0": version: 3.0.1 resolution: "webidl-conversions@npm:3.0.1"