Commit Graph

27 Commits (3a4992633ee62d5edfbb484d9c6bcb3cf158489d)

Author SHA1 Message Date
Chocobozzz 3a4992633e
Migrate server to ESM
Sorry for the very big commit that may lead to git log issues and merge
conflicts, but it's a major step forward:

 * Server can be faster at startup because imports() are async and we can
   easily lazy import big modules
 * Angular doesn't seem to support ES import (with .js extension), so we
   had to correctly organize peertube into a monorepo:
    * Use yarn workspace feature
    * Use typescript reference projects for dependencies
    * Shared projects have been moved into "packages", each one is now a
      node module (with a dedicated package.json/tsconfig.json)
    * server/tools have been moved into apps/ and is now a dedicated app
      bundled and published on NPM so users don't have to build peertube
      cli tools manually
    * server/tests have been moved into packages/ so we don't compile
      them every time we want to run the server
 * Use isolatedModule option:
   * Had to move from const enum to const
     (https://www.typescriptlang.org/docs/handbook/enums.html#objects-vs-enums)
   * Had to explictely specify "type" imports when used in decorators
 * Prefer tsx (that uses esbuild under the hood) instead of ts-node to
   load typescript files (tests with mocha or scripts):
     * To reduce test complexity as esbuild doesn't support decorator
       metadata, we only test server files that do not import server
       models
     * We still build tests files into js files for a faster CI
 * Remove unmaintained peertube CLI import script
 * Removed some barrels to speed up execution (less imports)
2023-08-11 15:02:33 +02:00
Chocobozzz dd24f1bb0a
Add video filters to common video pages 2021-08-25 11:24:11 +02:00
Chocobozzz 9df52d660f
Migrate client to eslint 2021-08-18 08:35:06 +02:00
Chocobozzz 4363ce0e3e
Increase thumbnail size on server 2021-04-05 11:44:09 +02:00
Chocobozzz 4d5e572f52
Account/channel videos display as rows 2021-04-01 16:54:49 +02:00
Chocobozzz 07f81d9dee
Fix NSFW policy on account/channel videos 2021-02-19 13:47:37 +01:00
Rigel Kent 5bcbcbe338 modularize abstract video list header and implement video hotness recommendation variant 2021-01-28 15:55:34 +01:00
Chocobozzz 0aa52e1707
Add ability to display all channel/account videos 2020-11-18 15:29:38 +01:00
Chocobozzz 66357162f8
Migrate to $localize
* Remove i18n polyfill to translate things in components
 * Reduce bundle sizes
 * Improve runtime perf
 * Reduce a lot the time to make a full client build
 * Reduce client build complexity
 * We don't need a service to translate things anymore (so we will be able to translate title pages etc)

Unfortunately we may loose some translations in the migration process.
I'll put a message on weblate to notify translators
2020-08-14 10:28:30 +02:00
Chocobozzz ae2dd04617
Correctly fix sub menu 2020-08-10 09:43:44 +02:00
Chocobozzz 67ed6552b8 Reorganize client shared modules 2020-06-23 16:00:49 +02:00
Rigel Kent d3217560a6
Add visitor settings, rework logged-in dropdown (#2514)
* Add visitor settings, rework logged-in dropdown

* Make user dropdown P2P switch functional

* Fix lint

* Fix unnecessary notification when user logs out

* Simplify visitor settings code and remove unnecessary icons

* Catch parsing errors and reindent menu styles
2020-02-28 13:52:21 +01:00
Chocobozzz 93cae47925 Add client hooks 2019-07-24 10:58:16 +02:00
Chocobozzz 34c7f429e4
Group videos on chronological order 2019-05-31 11:15:50 +02:00
Chocobozzz c8487f3f63
Improve account channel page
Set it as the default route for account page. The main goal is to better
differentiate the channel page from the account page. With the channel
page set as default, I hope people will better understand they are in
the account page, and that this account could have multiple channels.
2019-05-29 16:45:59 +02:00
Chocobozzz 722bca907b
Fix component reuse on channel/account videos 2019-05-13 10:37:55 +02:00
Chocobozzz e2409062de
Refactor video miniatures 2019-04-03 16:17:41 +02:00
Chocobozzz 489290b8b1
Restore videos list components 2019-04-02 11:45:02 +02:00
Chocobozzz f8b2c1b4f5
Refractor notification service
Shorter name and use primeng component
2018-12-19 17:26:52 +01:00
Chocobozzz c7b514157b
Fix account videos URL when scrolling 2018-07-11 10:29:29 +02:00
Chocobozzz bbe0f0645c
Add ability to schedule video publication 2018-06-15 18:20:56 +02:00
Chocobozzz 734a5ceb3d
Fix account/channel pages route subscription 2018-06-07 11:19:26 +02:00
Chocobozzz 25acef90a8
Fix i18n in components 2018-06-05 09:13:26 +02:00
Chocobozzz b1d40cff89
Add i18n attributes 2018-06-05 08:43:01 +02:00
Chocobozzz 0bf1f26523
Add number of videos published by an account/video channel 2018-05-30 17:37:49 +02:00
Chocobozzz db400f447a
Upgrade to rxjs 6 2018-05-16 09:42:54 +02:00
Chocobozzz 170726f523
Implement video channel views 2018-04-25 16:56:13 +02:00