* Add option to hide Ask AI and update dev version
* Fix formatting according to eslint
* Replace option to hide Ask AI with auto hiding based on config
* Fix golangci-lint errors
* Remove showAskAI logic from OpenAPI
* feat: improve i18n support as a whole
- Remove dayjs in favor of /helpers/datetime.ts, which uses
Intl.DateTimeFormat and Date. Dayjs is not exactly i18n friendly
and has several locale related opened issues.
- Move/refactor date/time code from /helpers/utils.ts to
/helpers/datetime.ts.
- Fix Daily Review weekday not changing according to selected date.
- Localize Daily review weekday and month.
- Load i18n listed strings from /locales/{locale}.json in a dynamic way.
This makes much easier to add new locales, by just adding a properly
named json file and listing it only in /web/src/i18n.ts and
/api/user_setting.go.
- Fallback languages are now set in /web/src/i18n.ts.
- Full language codes are now preffered, but they fallback to 2-letter
codes when not available.
- The locale dropdown is now populated dynamically from the available
locales. Locale names are populated by the browser via
Intl.DisplayNames(locale).
- /web/src/i18n.ts now exports a type TLocale from availableLocales
array. This is used only by findNearestLanguageMatch(). As I was unable
to use this type in ".d.ts" files, I switched the Locale type from
/web/src/types/i18n.d.ts to string.
- Move pretty much all hardcoded text strings to i18n strings.
- Add pt-BR translation.
- Remove site.ts and move its content to a i18n string.
- Rename zh.json to zh-Hans.json to get the correct language name on
selector dropdown.
- Remove pt_BR.json and replace with pt-BR.json.
- Some minor layout spacing fixes to accommodate larger texts.
- Improve some error messages.
* Delete .yarnrc.yml
* Delete package-lock.json
* fix: 158:28 error Insert `⏎` prettier/prettier
* add i18n
* add base e2e test
* add multiple test for e2e
* extract the funciton of write memo
* change test sturct
* deteled unused dir
* use fixture
* add fixture
* restruced the project
* feat: add workflow
* feat: change playwright test position
* feat: change playwright test position
* using yarn intead of npm
* change install method
* only enable sign in test
* adjust the order of test
* change report pos
* fix style of e2e workflow
* add review test
* unify locale
* randome write content
* change report pos
* reduce unused wait time
* reduce unused folder
* stash
* merge upstream locale
* change test name
* add test item
* change action name
* add lanuage setting
* add shotscreen
* change name of test
* fix the error of import dep
* fix the error of import dep
* fix the error of filename
* fix the format of workflow
* fix the name error of test case
* feat: change the describe of test case
* feat: remove unused test
* feat: change the fixtures name
* feat: remove unused config
* feat: change docker action
* feat: change the generate method
* feat: extrace screenshot
* feat: change extra path
* feat: change extra path
* feat: screenshot and upload
* feat: change upload filename
* feat: change login method
* feat: change e2e method
* feat: change e2e test
* feat: add wait for login
---------
Co-authored-by: CorrectRoadH <a778917369@gmail.comå>
refactor and update ko.json
- added missing translation keys into ko.json
- synced the JSON key order of ko.json with en.json
- removed unused translation data
* feat: add support for resource page on frontend
* [WIP]feat: add backend support for limit and offset search
* feat: add reducer to add resource
* support fetch all resource when first search
* beautify the fetch ui
* restore file
* feat: add all resource before clear resource
* eslint
* i18n
* chore:change the nane
* chore: change the name of param
* eslint
* feat: setIsComplete to true when first loading resource fully
* fix the bug of fetch
* feat change finally to then
* feat: add await and async to clear and search
* feat: return all resource when fetch
* chore: change variable name
* Update web/src/pages/ResourcesDashboard.tsx
Co-authored-by: boojack <stevenlgtm@gmail.com>
* fix missing const value
---------
Co-authored-by: boojack <stevenlgtm@gmail.com>
* stash: file upload
* feat: add style button
* feat: add style of list
* feat: add checkbox for list
* feat: support file upload by drag
* feat: beautify the ui
* feat: support file upload
* stash
* fix: the resource is incorrectly when upload multiple files
* feat: beautify the ui
* chore: reduce unused line
* stash
* chore: deleted unused line
* chore: deleted unused line
* chore
* chore: change the function declare
* feat: support to prompt file is too large
* feat:drop prompt to cover all element
* fix: eslint
* fix: the name of i18n
* chore: refactor the import deps
* feat: beautify the ui
* feat: support the style of button
* feat: beautify the switch ui
* chore: refactor the component
* chore: refactor the resource item dropdown
* feat: use memo to reduce unused computing in drop
* feat: use memo to reduce the calc of resource list
* chore:change name
* Update web/src/locales/en.json
Co-authored-by: boojack <stevenlgtm@gmail.com>
* chore: the import of deps
* fix: the window size of fecting data
* feat: support to save the state of style
* remove pnpm-lock
* merge main
* chore: simpify the statement
* fix: delete conflict marker
* feat: add i18n for select
* feat:support dark mode
* eslint
* feat: add more file icon
* feat: delete the storage of resource style
* Update web/src/components/ResourceCover.tsx
Co-authored-by: boojack <stevenlgtm@gmail.com>
---------
Co-authored-by: boojack <stevenlgtm@gmail.com>
* stash: file upload
* feat: add style button
* feat: add style of list
* feat: add checkbox for list
* feat: support file upload by drag
* feat: beautify the ui
* feat: support file upload
* stash
* fix: the resource is incorrectly when upload multiple files
* feat: beautify the ui
* chore: reduce unused line
* stash
* chore: deleted unused line
* chore: deleted unused line
* chore
* chore: change the function declare
* feat: support to prompt file is too large
* feat:drop prompt to cover all element
* fix: eslint
* fix: the name of i18n
* chore: refactor the import deps
* feat: beautify the ui
* feat: support the style of button
* feat: beautify the switch ui
* chore: refactor the component
* chore: refactor the resource item dropdown
* feat: use memo to reduce unused computing in drop
* feat: use memo to reduce the calc of resource list
* chore:change name
* Update web/src/locales/en.json
Co-authored-by: boojack <stevenlgtm@gmail.com>
* chore: the import of deps
* fix: the window size of fecting data
* feat: support to save the state of style
* remove pnpm-lock
* merge main
* chore: simpify the statement
* fix: delete conflict marker
* feat: add i18n for select
* feat:support dark mode
* eslint
* feat: delete the storage of resource style
---------
Co-authored-by: boojack <stevenlgtm@gmail.com>
* stash: file upload
* feat: support file upload by drag
* feat: beautify the ui
* feat: support file upload
* stash
* fix: the resource is incorrectly when upload multiple files
* feat: beautify the ui
* chore: reduce unused line
* stash
* chore: deleted unused line
* chore: deleted unused line
* chore
* chore: change the function declare
* feat: support to prompt file is too large
* feat:drop prompt to cover all element
* fix: eslint
* fix: the name of i18n
* chore: refactor the import deps
* feat: beautify the ui
* Update web/src/locales/en.json
Co-authored-by: boojack <stevenlgtm@gmail.com>
* chore: the import of deps
* fix: the window size of fecting data
---------
Co-authored-by: boojack <stevenlgtm@gmail.com>
* feat: refator the file dashboard
* feat: support select resouce file
* feat: suppor delete select files
* feat: support share menu, implement rename and delete
* chore: change the color of hover
* chore: refator file dashboard to page
* feat: add i18n for button
* feat: beautify the button
* fix: the error position of button
* feat: only select when click circle instead of whole card
* feat: beautify file dashboard
* chore: factor the filecard code
* feat: using dropdown component intead of component
* feat: add i18n for delete selected resource button
* feat: delete the unused style of title
* chore: refactor file cover
* feat: support more type file cover
* feat: use memo to reduce unused computing in filecover
* feat: when no file be selected, click the delete will error
* feat: store the select resource id instead of source to save memory
* chore: delete unused code
* feat: refactor the file card
* chore: delete unused style file
* chore: change file to resource
* chore: delete unused import
* chore: fix the typo
* fix: the error of handle check click
* fix: the error of handle of uncheck
* chore: change the name of selectList to selectedList
* chore: change the name of selectList to selectedList
* chore: change the name of selectList to selectedList
* chore: delete unused import
* feat: support Responsive Design
* feat: min display two card in a line
* feat: adjust the num of a line in responsive design
* feat: adjust the num of a line to 6 when using md
* feat: add the color of hover source card when dark
* chore: refactor resource cover css to reduce code
* chore: delete unnessnary change
* chore: change the type of callback function
* chore: delete unused css code
* feat: add zh-hant i18n
* feat: change the position of buttons
* feat: add title for the icon button
* feat: add opacity for icon
* feat: refactor searchbar
* feat:move Debounce to search
* feat: new resource search bar
* feat: reduce the size of cover
* support file search
* Update web/src/pages/ResourcesDashboard.tsx
Co-authored-by: boojack <stevenlgtm@gmail.com>
* Update web/src/components/ResourceCard.tsx
Co-authored-by: boojack <stevenlgtm@gmail.com>
* chore: reduce css code
* feat: support lowcase and uppercase search
* chore: reserve the searchbar
* feat: refator resource Search bar
* chore: change the param name
* feat: resource bar support dark mode
* feat: beautify the UI of dashboard
* chore: extract positionClassName from actionsClassName
* feat: reduce the length of search bar
---------
Co-authored-by: boojack <stevenlgtm@gmail.com>
* feat: Allow users to customize the refresh time for Daily Reviews
* feat: Allow users to customize the refresh time for Daily Reviews. Lint fix
* feat: Allow users to customize the refresh time for Daily Reviews. change daily review time offset to include only hour
* feat: Allow users to customize the refresh time for Daily Reviews. Retrigger to try CodeQL pass.
---------
Co-authored-by: Aswath S <aswath.s@thoughtworks.com>
* feat: automatically change language to browser language on first launch(#1238)
* Update web/src/store/module/global.ts
* chroe: rename languageCodeCovert to convertLanguageCodeToLocale
---------
Co-authored-by: boojack <stevenlgtm@gmail.com>
* fix
* fix bug
* changes
* Revert "changes"
This reverts commit 2b2084c7bd.
* should close the toast if its error also
* no internal errors + sso
* change the text to Incorrect login credentials, please try again
Translated using Weblate (Turkish)
Currently translated at 19.5% (41 of 210 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 33.3% (70 of 210 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (210 of 210 strings)
Translated using Weblate (Dutch)
Currently translated at 100.0% (210 of 210 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (210 of 210 strings)
Translated using Weblate (Turkish)
Currently translated at 1.4% (3 of 210 strings)
Translated using Weblate (Turkish)
Currently translated at 0.4% (1 of 210 strings)
Translated using Weblate (Turkish)
Currently translated at 0.0% (0 of 0 strings)
Added translation using Weblate (Turkish)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (210 of 210 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 91.4% (192 of 210 strings)
Translate-URL: https://hosted.weblate.org/projects/memos/web/es/
Translate-URL: https://hosted.weblate.org/projects/memos/web/nl/
Translate-URL: https://hosted.weblate.org/projects/memos/web/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/memos/web/sv/
Translate-URL: https://hosted.weblate.org/projects/memos/web/tr/
Translate-URL: https://hosted.weblate.org/projects/memos/web/zh_Hant/
Translation: memos/web
Co-authored-by: Felipe Nogueira <contato.fnog@gmail.com>
Co-authored-by: Jasper Platenburg <jasperdgp@outlook.com>
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Co-authored-by: Onur Ravli <onur@ravli.co>
Co-authored-by: SiriYang <www.yangxinruei@qq.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translated using Weblate (Portuguese (Brazil))
Currently translated at 25.7% (54 of 210 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 0.0% (0 of 0 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (210 of 210 strings)
Added translation using Weblate (Portuguese (Brazil))
Translate-URL: https://hosted.weblate.org/projects/memos/web/pl/
Translate-URL: https://hosted.weblate.org/projects/memos/web/pt_BR/
Translation: memos/web
Co-authored-by: Felipe Nogueira <contato.fnog@gmail.com>
Co-authored-by: Piotr Wik <p_00@o2.pl>
Translated using Weblate (Polish)
Currently translated at 99.0% (208 of 210 strings)
Translate-URL: https://hosted.weblate.org/projects/memos/web/pl/
Translation: memos/web
Co-authored-by: Piotr Wik <p_00@o2.pl>
Translated using Weblate (Polish)
Currently translated at 97.1% (204 of 210 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (210 of 210 strings)
Translate-URL: https://hosted.weblate.org/projects/memos/web/pl/
Translate-URL: https://hosted.weblate.org/projects/memos/web/zh_Hant/
Translation: memos/web
Co-authored-by: Piotr Wik <p_00@o2.pl>
Co-authored-by: SiriYang <www.yangxinruei@qq.com>
Translated using Weblate (Chinese (Traditional))
Currently translated at 94.2% (198 of 210 strings)
Translate-URL: https://hosted.weblate.org/projects/memos/web/zh_Hant/
Translation: memos/web
Co-authored-by: SiriYang <www.yangxinruei@qq.com>
Translated using Weblate (Polish)
Currently translated at 79.5% (167 of 210 strings)
Translated using Weblate (Polish)
Currently translated at 0.0% (0 of 0 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (210 of 210 strings)
Added translation using Weblate (Polish)
Translated using Weblate (Korean)
Currently translated at 98.5% (210 of 213 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 97.1% (207 of 213 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 92.0% (196 of 213 strings)
Translated using Weblate (Vietnamese)
Currently translated at 89.2% (190 of 213 strings)
Translated using Weblate (Ukrainian)
Currently translated at 91.5% (195 of 213 strings)
Translated using Weblate (Russian)
Currently translated at 91.5% (195 of 213 strings)
Translated using Weblate (Italian)
Currently translated at 91.5% (195 of 213 strings)
Translated using Weblate (French)
Currently translated at 90.1% (192 of 213 strings)
Translated using Weblate (Spanish)
Currently translated at 91.5% (195 of 213 strings)
Translated using Weblate (Swedish)
Currently translated at 100.0% (210 of 210 strings)
Deleted translation using Weblate (English (United States))
Translated using Weblate (English (United States))
Currently translated at 0.0% (0 of 0 strings)
Added translation using Weblate (English (United States))
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (210 of 210 strings)
Translated using Weblate (Korean)
Currently translated at 98.5% (207 of 210 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 97.6% (205 of 210 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 93.3% (196 of 210 strings)
Translated using Weblate (Vietnamese)
Currently translated at 90.4% (190 of 210 strings)
Translated using Weblate (Ukrainian)
Currently translated at 92.8% (195 of 210 strings)
Translated using Weblate (Swedish)
Currently translated at 92.8% (195 of 210 strings)
Translated using Weblate (Russian)
Currently translated at 92.8% (195 of 210 strings)
Translated using Weblate (Dutch)
Currently translated at 85.7% (180 of 210 strings)
Translated using Weblate (Italian)
Currently translated at 92.8% (195 of 210 strings)
Translated using Weblate (French)
Currently translated at 91.4% (192 of 210 strings)
Translated using Weblate (Spanish)
Currently translated at 92.8% (195 of 210 strings)
Translated using Weblate (German)
Currently translated at 91.4% (192 of 210 strings)
Translate-URL: https://hosted.weblate.org/projects/memos/web/de/
Translate-URL: https://hosted.weblate.org/projects/memos/web/en_US/
Translate-URL: https://hosted.weblate.org/projects/memos/web/es/
Translate-URL: https://hosted.weblate.org/projects/memos/web/fr/
Translate-URL: https://hosted.weblate.org/projects/memos/web/it/
Translate-URL: https://hosted.weblate.org/projects/memos/web/ko/
Translate-URL: https://hosted.weblate.org/projects/memos/web/nl/
Translate-URL: https://hosted.weblate.org/projects/memos/web/pl/
Translate-URL: https://hosted.weblate.org/projects/memos/web/ru/
Translate-URL: https://hosted.weblate.org/projects/memos/web/sv/
Translate-URL: https://hosted.weblate.org/projects/memos/web/uk/
Translate-URL: https://hosted.weblate.org/projects/memos/web/vi/
Translate-URL: https://hosted.weblate.org/projects/memos/web/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/memos/web/zh_Hant/
Translation: memos/web
Co-authored-by: Luna Jernberg <droidbittin@gmail.com>
Co-authored-by: Piotr Wik <p_00@o2.pl>
Co-authored-by: Yoshino-s <cy-cui@outlook.com>
Co-authored-by: boojack <stevenlgtm@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
* feat(system): support for disabling public memos
* fix(web/editor): set visibility to private on disabled public memos
* feat(server/memo): find/check if public memos are disabled
* fix(server/memo): handle error for finding system error
* fix(server/memo): unmarshal visiblity when getting system settings
* chore(web): move side effect imports to end
* Update memo.go
---------
Co-authored-by: boojack <stevenlgtm@gmail.com>
* feat: style for not found page (#1078)
* chore: translation for not found page (#1078)
* feat: add not found page (#1078)
* chore: router for not found page (#1078)
* fix: typo
* feat: add qrcode in share dialog
* update: change the color
* feat: add customized logo in share dialog
* update: import order
Co-authored-by: boojack <stevenlgtm@gmail.com>
* fix for heatmap popup showing after logging out
* moved node.remove to component unmount
* Update web/src/components/UsageHeatMap.tsx
Co-authored-by: boojack <stevenlgtm@gmail.com>
Co-authored-by: M. Gschwandtner <84477901+OnlyPain-ctrl@users.noreply.github.com>
Co-authored-by: boojack <stevenlgtm@gmail.com>
* no selecting tooltip text
With a double click on button, you can get selection on tooltip text. That may be distracting a little bit.
* Update web/src/less/memo.less
Co-authored-by: Stephen Zhou <hi@hyoban.cc>
Co-authored-by: Stephen Zhou <hi@hyoban.cc>
Co-authored-by: boojack <stevenlgtm@gmail.com>