From 952ac7f379e4cfe5c66581cafc41c3014f14f0f0 Mon Sep 17 00:00:00 2001 From: Alessandro Jean Date: Sun, 6 Mar 2022 00:27:39 -0300 Subject: [PATCH] Release v0.2.46. Update dependencies. Use markdown files in about pages. Add body classes to postcss file. Add a animated indicator in page contents. Add an about the project page. Add a11y link to dashboard footer. Remove header anchor on heading focus. Replace deprecated Google Sign In with Google Identity Services SDK. Fix page contents algorithm. Add useBreakpoints in more places. Update heading levels in instructions. Fix undefined error in page contents component. Update outdated information in docs. Update dependencies. Update GitHub icon in dashboard footer. Add missing transition to docs. Make table of contents sr-only. Use more useLocalStorage from @vueuse. Redirect to last page on sign in. Remember search sort property and direction. Add a better error handling in queries. Show dialog overlay in GIS prompt. Show settings button disabled outside dashboard. Use book grid component in book tabs. Hide Beta flag from screenreaders. Add a grouped statistics component. Fix undefined error in search dialog. Redesign the mobile navbar. Decrease the chart title font size. Refactor cover finder service. Update dependencies. Bump the version to release. --- docs/en-US/a11y.md | 92 ++++ docs/en-US/about.md | 93 ++++ docs/en-US/instructions.md | 187 ++++++++ docs/en-US/privacy-policy.md | 120 +++++ docs/en-US/searching.md | 113 +++++ docs/en-US/sharing.md | 51 +++ docs/en-US/terms-of-use.md | 44 ++ docs/pt-BR/a11y.md | 93 ++++ docs/pt-BR/about.md | 98 ++++ docs/pt-BR/instructions.md | 194 ++++++++ docs/pt-BR/privacy-policy.md | 123 +++++ docs/pt-BR/searching.md | 120 +++++ docs/pt-BR/sharing.md | 52 +++ docs/pt-BR/terms-of-use.md | 44 ++ index.html | 5 +- package.json | 27 +- src/assets/about/new-book-step-01.jpg | Bin 0 -> 55301 bytes src/assets/about/new-book-step-01.png | Bin 55997 -> 0 bytes src/assets/about/new-book-step-02.jpg | Bin 0 -> 114102 bytes src/assets/about/new-book-step-02.png | Bin 84863 -> 0 bytes src/assets/about/new-book-step-03.jpg | Bin 0 -> 113741 bytes src/assets/about/new-book-step-03.png | Bin 84485 -> 0 bytes src/assets/about/new-book-step-04.jpg | Bin 0 -> 53786 bytes src/assets/about/new-book-step-04.png | Bin 83789 -> 0 bytes src/assets/about/new-book-step-05.jpg | Bin 0 -> 109212 bytes src/assets/about/new-book-step-05.png | Bin 185231 -> 0 bytes src/assets/about/new-book-step-06.jpg | Bin 0 -> 46728 bytes src/assets/about/new-book-step-06.png | Bin 52037 -> 0 bytes src/assets/about/new-book-step-07.jpg | Bin 0 -> 158920 bytes src/assets/about/new-book-step-07.png | Bin 446549 -> 0 bytes src/assets/home/screenshot-library-mobile.jpg | Bin 0 -> 128315 bytes src/assets/home/screenshot-library-mobile.png | Bin 531396 -> 0 bytes src/assets/home/screenshot-library.jpg | Bin 0 -> 218818 bytes src/assets/home/screenshot-library.png | Bin 748509 -> 0 bytes src/assets/home/screenshot-metadata.jpg | Bin 0 -> 111009 bytes src/assets/home/screenshot-metadata.png | Bin 77760 -> 0 bytes src/components/AppNavbar.vue | 1 + src/components/BasicBarChart.vue | 64 +-- src/components/BetaWarning.vue | 4 +- src/components/Content.vue | 2 +- src/components/ContentBody.vue | 7 +- src/components/ContentFooter.vue | 42 +- src/components/ContentTitle.vue | 32 +- src/components/DashboardFooter.vue | 20 +- src/components/GroupGrid.vue | 22 +- src/components/GroupedStatistics.vue | 152 +++++++ src/components/HomeHeader.vue | 10 +- src/components/MobileNavbar.vue | 21 +- src/components/MonthlyBoughtsChart.vue | 61 +-- src/components/MonthlyExpenseChart.vue | 61 +-- src/components/PageAside.vue | 19 +- src/components/PageContents.vue | 248 ++++++---- src/components/PageHeader.vue | 14 +- src/components/ProfileMenu.vue | 24 +- src/components/SignInWithGoogleButton.vue | 118 ++--- src/components/book/BookGrid.vue | 30 +- src/components/book/BookTable.vue | 13 +- src/components/book/BookTabs.vue | 12 +- src/components/dialogs/SearchDialog.vue | 2 +- src/components/icons/GitHubIcon.vue | 20 +- src/composables/useDarkMode.js | 35 +- src/composables/useMarkdown.js | 22 +- src/composables/useMotionSafe.js | 33 -- src/composables/useTailwindTheme.js | 8 +- src/data/Query.js | 20 +- src/i18n/messages/en-US.js | 420 +---------------- src/i18n/messages/pt-BR.js | 430 +----------------- src/index.pcss | 17 + src/queries/useBookCollectionQuery.js | 15 +- src/queries/useBookExistsQuery.js | 15 +- src/queries/useBookQuery.js | 15 +- src/queries/useBookSearchQuery.js | 16 +- src/queries/useBooksQuery.js | 17 +- src/queries/useGroupsQuery.js | 15 +- src/queries/useLastAddedQuery.js | 15 +- src/queries/useLatestReadingsQuery.js | 15 +- src/queries/useNextReadsQuery.js | 15 +- src/queries/usePublishersQuery.js | 15 +- src/queries/useStatisticsQuery.js | 15 +- src/queries/useStoresQuery.js | 15 +- src/queries/useTimeZoneQuery.js | 11 +- src/router/index.js | 118 +++-- src/services/cover.js | 205 --------- src/services/cover/CoverFinder.js | 16 + src/services/cover/OEmbedFinder.js | 46 ++ src/services/cover/UrlReplacerFinder.js | 55 +++ src/services/cover/WordPressFinder.js | 65 +++ src/services/cover/index.js | 110 +++++ src/services/sheet/buildSheetUrl.js | 2 +- src/stores/auth.js | 212 +++++---- src/stores/collection.js | 19 +- src/stores/main.js | 6 +- src/stores/search.js | 20 +- src/stores/settings.js | 34 +- src/stores/sheet.js | 6 +- src/tests/cover.test.js | 32 +- src/views/Home.vue | 18 +- src/views/PageNotFound.vue | 7 +- src/views/SignIn.vue | 58 ++- src/views/about/Accessibility.vue | 33 -- src/views/about/BaseAbout.vue | 102 +++++ src/views/about/Index.vue | 26 +- src/views/about/Instructions.vue | 50 -- src/views/about/PrivacyPolicy.vue | 40 -- src/views/about/TermsOfUse.vue | 35 -- src/views/dashboard/Index.vue | 4 +- src/views/dashboard/Stats.vue | 3 + tailwind.config.js | 11 +- yarn.lock | 208 +++++++-- 109 files changed, 3280 insertions(+), 1895 deletions(-) create mode 100644 docs/en-US/a11y.md create mode 100644 docs/en-US/about.md create mode 100644 docs/en-US/instructions.md create mode 100644 docs/en-US/privacy-policy.md create mode 100644 docs/en-US/searching.md create mode 100644 docs/en-US/sharing.md create mode 100644 docs/en-US/terms-of-use.md create mode 100644 docs/pt-BR/a11y.md create mode 100644 docs/pt-BR/about.md create mode 100644 docs/pt-BR/instructions.md create mode 100644 docs/pt-BR/privacy-policy.md create mode 100644 docs/pt-BR/searching.md create mode 100644 docs/pt-BR/sharing.md create mode 100644 docs/pt-BR/terms-of-use.md create mode 100644 src/assets/about/new-book-step-01.jpg delete mode 100644 src/assets/about/new-book-step-01.png create mode 100644 src/assets/about/new-book-step-02.jpg delete mode 100644 src/assets/about/new-book-step-02.png create mode 100644 src/assets/about/new-book-step-03.jpg delete mode 100644 src/assets/about/new-book-step-03.png create mode 100644 src/assets/about/new-book-step-04.jpg delete mode 100644 src/assets/about/new-book-step-04.png create mode 100644 src/assets/about/new-book-step-05.jpg delete mode 100644 src/assets/about/new-book-step-05.png create mode 100644 src/assets/about/new-book-step-06.jpg delete mode 100644 src/assets/about/new-book-step-06.png create mode 100644 src/assets/about/new-book-step-07.jpg delete mode 100644 src/assets/about/new-book-step-07.png create mode 100644 src/assets/home/screenshot-library-mobile.jpg delete mode 100644 src/assets/home/screenshot-library-mobile.png create mode 100644 src/assets/home/screenshot-library.jpg delete mode 100644 src/assets/home/screenshot-library.png create mode 100644 src/assets/home/screenshot-metadata.jpg delete mode 100644 src/assets/home/screenshot-metadata.png create mode 100644 src/components/GroupedStatistics.vue delete mode 100644 src/composables/useMotionSafe.js delete mode 100644 src/services/cover.js create mode 100644 src/services/cover/CoverFinder.js create mode 100644 src/services/cover/OEmbedFinder.js create mode 100644 src/services/cover/UrlReplacerFinder.js create mode 100644 src/services/cover/WordPressFinder.js create mode 100644 src/services/cover/index.js delete mode 100644 src/views/about/Accessibility.vue create mode 100644 src/views/about/BaseAbout.vue delete mode 100644 src/views/about/Instructions.vue delete mode 100644 src/views/about/PrivacyPolicy.vue delete mode 100644 src/views/about/TermsOfUse.vue diff --git a/docs/en-US/a11y.md b/docs/en-US/a11y.md new file mode 100644 index 00000000..b32dc985 --- /dev/null +++ b/docs/en-US/a11y.md @@ -0,0 +1,92 @@ +--- +title: Accessibility +category: general +date: 2022-03-09T15:34:00.000-03:00 +--- + +This site have some accessibility features. + +[[toc]] + +## Jump to the content + +All pages have a internal link to jump to the main content. +It can be used by users browsing with only the keyboard +or by users that depend on a screenreader. Follow the link +to get the focus directly in the page main content. + +## Jump to the navigation + +In pages such as Dashboard, you will also find a internal +link to jump directly to the main navigation. + +## Menus + +The menus utilized in this website are from the Headless UI library, +and they follow all the WAI-ARIA patterns for menu components. +The keyboard shortcuts can be found in the table below. + +| Command | Description | +| ----------------------- | ------------------------------------------------------------ | +| [[Enter]] or [[Space]] | Opens menu and focuses first non-disabled item. | +| [[▲]] or [[▼]] | Opens menu and focuses first/last non-disabled itemm. | +| [[Esc]] | Close any open menus. | +| [[▼]] or [[▲]] | When opened, focuses previous/next non-disabled item. | +| [[Home]] or [[End]] | When opened, focuses first/last non-disabled item. | +| [[Enter]] or [[Space]] | When opened, activates/clicks the current menu item. | +| [[A-Z]] or [[a-z]] | When opened, focuses first item that matches keyboard input. | + +## Navigation + +This website load dinamically its content. When the page is +changed, the screenreader will be updated by a modification +of a control element. + +## Animations + +This website follow the Operating System setting, if available, +to disable non-essential animations. You can find this setting +at the Accessibility section of your computer or device. + +## Keyboard input + +This website supports the navigation with keyboard only. The navigation +tries to implement the good practices and commands normally used. +The commands are available in the tables below. + +### Simple commands + +All HTML5 components supports these commands. + +| Command | Description | +| ----------------------- | ----------------------------------------- | +| [[Tab]] | Jump to the next focusable component. | +| [[Shift]] + [[Tab]] | Jump to the previous focusable component. | +| [[Enter]] or [[Space]] | Activates/clicks the focused component. | + +### Selectable components commands + +Selectable components includes the group and book grid, the book table +in the library and the carousels in the *dashboard*. + +| Command | Description | +| ------------------------------------------- | --------------------------------------------------- | +| [[▼]] or [[▲]] | Focuses the item above/below. | +| [[►]] or [[◄]] | Advance/go back one item. | +| [[Home]] or [[End]] | Jump to the first/last item. | +| [[Shift]] + [[▼]] or [[Shift]] + [[▲]] | Increase the selection in the bottom/top direction. | +| [[Shift]] + [[End]] or [[Shift]] + [[Home]] | Increase the selection to the last/first. | +| [[Ctrl]] + [[▼]] or [[Ctrl]] + [[▲]] | Move the cursor to the item above/below. | +| [[Ctrl]] + [[End]] or [[Ctrl]] + [[Home]] | Move the cursor to the last/first item. | +| [[Ctrl]] + [[A]] | Select/unselect all items. | +| [[Ctrl]] + [[K]] | Open the dashboard book search. | + +In macOS, use [[Command]] instead of [[Ctrl]]. + +## Issues during access + +If you find some issue during the access or some wrong implementation +of an accessibility feature, please report it at the [repository +on GitHub]. + +[repository on GitHub]: https://github.com/alessandrojean/toshokan/issues/new/choose \ No newline at end of file diff --git a/docs/en-US/about.md b/docs/en-US/about.md new file mode 100644 index 00000000..55de6f5c --- /dev/null +++ b/docs/en-US/about.md @@ -0,0 +1,93 @@ +--- +title: About the project +category: general +date: 2022-03-06T21:39:00.000-03:00 +--- + +In this page you will find a little more about the project. + +[[toc]] + +## The motivations + +The project was created because of many limitations in the existing +manga and comic books collection management websites and apps, such as: + +- Outdated design and not being mobile-compatible; +- Watermark in the book covers; +- Slow or broken website; +- Missing better fields for categorization; +- Closed-source and doubtful user privacy; +- No support to mark as read and have a read history. + +There also weren't any good tool (offline-based or not) that allowed the user +to have full control over their collection data. Since none of the existing +and well-populated database websites have an public API, the project would +need to depend on manual field filling, but that's a minor issue if you +take in consideration the advantage of being the owner of your collection data. + +## The sheet script + +The first concept of this tool was built directly in the Google Spreadsheets, +by using their script environment called _Google Apps Script_. It helped +in the creation and edition of the books, but it's bad to view the data +only by a table in the sheet, it was one of the limitations. + +Since the beginning, the tool already had the ISBN search and cover finder, +one of the key features that helps a lot to create the records. + +## The first version + +The first website was built using [Vue.js] (the same framework that is +used in the current version) and [Vuetify] as the UI kit. Although it +worked well, its performance wasn't very good, the UI was bloated +and the app had a bad data management in memory, it just fetched all +the sheet content at once and work locally with it. + +[Vue.js]: https://vuejs.org/ +[Vuetify]: https://vuetifyjs.com/ + +## The current version + +The current version is more optimized and uses [Tailwind CSS] for the UI. +It is powered by [Vite] and [Netlify]. The data fetching algorithm was +enhanced and it loads much more faster in comparison to the first version. + +[Tailwind CSS]: https://tailwindcss.com/ +[Vite]: https://vitejs.dev/ +[Netlify]: https://www.netlify.com/ + +## Development + +The project is still in Beta stage, so its use to catalogation is limited +to a few beta testers, and we aren't open to new ones at the moment, sorry. + +If it wasn't for the beta testers, the project would never be in constant +improvement and optimization. We appreciate a lot the colaboration and feedback. + +If you find any bug or issue, we appreciate if you take some time to report +it in our [GitHub repository], by filling one of the issues form. + +[GitHub repository]: https://github.com/alessandrojean/toshokan/issues/new/choose/ + +## Individual donations + +If you find the project useful and want to contribute, you can make +a donation through [PicPay] (Brazil only). We appreciate it! + +[PicPay]: https://app.picpay.com/user/alessandrojean + +## Business sponsoring + +If you have a business related to manga, comics or books (such as an store, +for example) and want to sponsor the project monthly, please open an issue +in our [GitHub repository] about it so we can discuss. + +By sponsoring the project, your logo will be included in the `README.md` +file and in the front page and sidebars of the help center, depending +on plan choosed. + +We still haven't stablished the available plans, but please keep checking +this page for future updates if you want your business to sponsor the project. + +[GitHub repository]: https://github.com/alessandrojean/toshokan/issues/new/choose/ diff --git a/docs/en-US/instructions.md b/docs/en-US/instructions.md new file mode 100644 index 00000000..b6a718eb --- /dev/null +++ b/docs/en-US/instructions.md @@ -0,0 +1,187 @@ +--- +title: Instructions +category: guide +date: 2022-03-09T12:04:00.000-03:00 +--- + +Toshokan is a utility aiming to provide a friendly user interface +for better management of your manga, comic and book collection +spreadsheet. + +The spreadsheet must follow a strict template, that have to be +copied to your Google Drive account so the application can +have access to it. + +The application only reads and writes information on the +spreadsheet, so you still have total control over your collection +data and can have an easy access in case you want to export +or use in other third party service. + +[[toc]] + +## Before starting + +Before the first use, you have to create the spreadsheet +file in your Google Drive that will store your collection information. + +- Sign in with your Google Account at the [Google Drive] website. +- Access [this sheet] and create a copy by clicking on + **File → Make a copy**. +- **Do not rename the file**, it should be named **Toshokan**. + +In the next time, the copied spreadsheet will be selected automatically. + +[Google Drive]: https://drive.google.com/ +[this sheet]: # + +## Signing in + +After you copied the spreadsheet to your Google Drive, you can +start to use Toshokan, by signing in with your Google Account. + +- Access the homepage and click on **Sign in with Google**. +- Grant access to the information requested by Toshokan. + +In the next time, you will not need to grant the permissions again. + +### Usage of your personal information + +Toshokan is a open source application and rendered at the browser +side. We do not have a server that store your data and we also +do not share your information with any third party services. + +You can remove the granted permissions of access to your Google +Drive files and Google Sheets spreadsheets at any time +on your Google Account settings. + +More information can be found in our Privacy Policy. + +## Creating the first book + +When you sign in by the first time the sheet will be empty, +and you will be asked to create the first book by using the wizard. + +If the ISBN search is available, you can search the book you +want to add by typing the ISBN. If the book exists and the code +is valid, you will be taken to the next step with some fields of +the formulary already filled. + +![First step: ISBN search.](@/assets/about/new-book-step-01.jpg) + +The ISBN used to search can be typed with or without the dashes, +and the search also works with old books that have the ISBN +with 10 digits. However, at the moment, the search will only +work with Brazilian books that have the ISBN starting with +**978-85** or **978-65**. + +If the search returns no results or the book don't have a +Brazilian ISBN, you can use the **Fill manually** option. + +![Second step: fill the book's metadata.](@/assets/about/new-book-step-02.jpg) + +The book metadata not always is right or follow a pattern, so +you will probably need to fix some minor issues at the data. +In the image above the manga had it title and author filled +with upper case characters, and needs to be fixed. + +## The book metadata + +Below you will find an brief explanation of each metadata. + +ID +: Usually the ISBN of the book, but other unique codes such + as ISSN or EAN can be used too. In independent publications, + the **N/A** (not applicable) value can be used. + +Title +: Official name of the book. In case of publications with more + than one volume, you can use the **#** (number sign) character + followed by the volume/issue number. + + **Example:** Lone Wolf and Cub #01: The Assassin's Road + +Authors +: People involved in the creation of the book, such as writers, + artists, letterers, etc. In case of multiple people, you + must separate their names by using the **semicolon** character. + +**Example:** Kazuo Koike; Goseki Kojima + +Publisher +: Publisher that released the book. Sometimes te value retorned + by the search is incorrect and the tool will perform a fix, + but you may still need to modify it manually. + +Group +: The group the book has in common with the others in your collection. + Although ideally it is recommended to use the publication type + (such as "books", "comics" or "manga"), you can also use + the name of the franchise in cases with multiple volumes. + + You must always manually fill this metadata. + +Size +: Width and height ratio, *in centimeters*. The values can have + a maximum of one digit in the decimal place. + +Label price +: Full price of the book. You can use up to two digits for the + decimal places. + + In case of imported books, you can change the currency in the + select field on the side, choosing the equivalent [ISO 4217] code. + +Paid price +: Promotional price paid in the book purchase. When not applicable, + you must fill in the label price value. You can also change + the currency. + +Store +: Place where the book was purchase. You can fill it with the + **Unknown** value when you don't remember or when you + don't want to fill it. + +Bought at +: Date when the book entered your collection. It is used to + generate the monthly statistics. If you do not remember + or do not have this information, you can leave the field + value blank by erasing the day, month and year at the input. + +![Book metadata correctly filled.](@/assets/about/new-book-step-03.jpg) + +[ISO 4217]: https://en.wikipedia.org/wiki/ISO_4217 + +## Cover image + +After filling the book metadata, you can choose a cover image +automatically obtained from Amazon or from the publisher's website, +or provide a custom valid URL to another image. + +If you want to leave the book without a cover image, just do not +select any option and skip to the next step. + +![Third step: choosing the cover image.](@/assets/about/new-book-step-04.jpg) + +## Information review + +With all the metadata correct filled and the cover image choosen, +you can do a last review on the information provided before +finishing the wizard and creating the book at the spreadsheet. + +![Fourth step: information review.](@/assets/about/new-book-step-05.jpg) + +If all information is correct, you must click on +**Finish**. + +![Creation confirmation dialog.](@/assets/about/new-book-step-06.jpg) + +With this, the book will be added to the spreadsheet and you +can then choose **View**, if you want to go straight to the +book page, or **New book** if you want to add another book +in sequence. + +![Book information page.](@/assets/about/new-book-step-07.jpg) + +The book is now saved in the spreadsheet and you can repeat +the wizard when you want to add new books. You can explore +your library items via the **Library** item in the main navigation. diff --git a/docs/en-US/privacy-policy.md b/docs/en-US/privacy-policy.md new file mode 100644 index 00000000..7e393fe5 --- /dev/null +++ b/docs/en-US/privacy-policy.md @@ -0,0 +1,120 @@ +--- +title: Privacy Policy +category: general +date: 2021-07-08T22:30:00.000-03:00 +--- + +This privacy policy applies to all pages in this website. + +[[toc]] + +## Information we collect + +Toshokan must receive some personal information from your +Google Account in order for the website to work properly. + +All received information is handled in the browser and is +neither stored nor retransmitted to any third party service. +Also, this website is open source, so anyone can inspect +the code and point out any issues at the repository on GitHub. + +### Information you provide + +This information is obtained when you grant permission for +Toshokan to access your collection sheet. + +- **Your account information**. We use your name, e-mail and + profile picture from your Google Account to customize the + user interface. The Google Authentication Service provide + this information by default and it's not possible to + disable it. +- **Your Google Drive files**. We request a read-only + information scope from your Google Drive files so we + can find the collection sheet ID. Besides the collection + sheet, we do not have access to the content of the other files. +- **Your Google Sheets spreadsheets**. We need read and write + access to your spreadsheets so we can obtain the data and + write new information about the collection. Only the + collection sheet is read and modified. + +You can remove the permissions granted to Toshokan at any time +from your Google Account by following the instructions at +[this article] of the Google Account Help. +When you remove the access permission, we will not have access +anymore to your data. + +[this article]: [this article]: https://support.google.com/accounts/answer/3466521?hl=en#remove-access + +### How we use information + +We do not store your information in the website server. +Toshokan is just a static website. Your Google Account +personal information is only stored at your local memory +during your use of the tool. When you sign out or close +the website, all the information is automatically erased. +The information will only be requested again at the next +time you use the website and sign in. + +## Information we share with third party services + +We do not share neither any personal information or data from your +Google Account nor your spreadsheets and files from your Google +Drive with third party services. This can be comprovated +by a inspection on the website source code at the public +repository on GitHub. + +Since Toshokan is a open source project, anyone can clone +or fork the repository and modify, compile and host in +any other server. We do not have control or responsibility +over other instances or Toshokan forks besides this +website (https://toshokan-app.netlify.com). Make sure to always check if +you are accesing the demonstration website or your +own local version, as recommended at the instructions +on the README.md file in the repository. + +Although we do not share any of your personal data with +third parties, we reserve the right to include affiliate +links to purchase books in some stores in the future. +These links do not include any personal information, +but the store's websites may have some monitoring system +and unique identification, which we have no responsibility +or control. You can get more information regarding this +practice in the store's Terms of Use and Privacy Policy. + +## Updates to our policy + +We may amend or update our Privacy Policy. We will provide you +notice of amendments to this Privacy Policy, as appropriate, +and update the "Last modified" date at the top of this +Privacy Policy. Please review our Privacy Policy from time to time. + +## Brazilian General Data Protection Law (LGPD) + +This section applies to personal data processing activities +under Brazilian law and supplements our Privacy Policy. + +Under the Brazilian General Data Protection Law (the "LGPD"), +you have the right to access, rectify, port, erase, and confirm +that we process your data. In certain circumstances, you also +have the right to object to and to restrict the processing +of your personal data. This page have more information at +the previous sections about how we process and use your data. + +You can remove the permissions granted to Toshokan at any time +from your Google Account by following the instructions at +[this article] of the Google Account Help. +When you remove the access permission, we will not have access +anymore to your data. + +Information about how Google takes responsability for your +data according to the Brazilian General Data Protection Law +can be obtained in [this page] from +Google Account Help. + +The complete content of Law No. 13,709 of August 14, 2018, +can be accessed [through this page] on the +Federal government of Brazil website. + +[this article]: https://support.google.com/accounts/answer/3466521?hl=en#remove-access +[this page]: https://support.google.com/authorizedbuyers/answer/9928204?hl=en +[through this page]: http://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm diff --git a/docs/en-US/searching.md b/docs/en-US/searching.md new file mode 100644 index 00000000..9085fc5e --- /dev/null +++ b/docs/en-US/searching.md @@ -0,0 +1,113 @@ +--- +title: Searching +category: guide +date: 2022-03-06T22:30:00.000-03:00 +--- + +After you have created some books in your collection, you can search +in your library through the searchbar in the main header. + +[[toc]] + +## Simple mode + +Type your query to only search in the _code_, _title_ and _author_ fields. + +The search in the sheet will be done with the `OR` logic operator, i.e., +any books that have matches in at least one of the fields above will +be returned. + +Using only the simple mode can cause some issues when you need to +filter the results. For example, imagine you have created in your +collection all the _AKIRA_ and _Dragon Ball_ volumes, and you want +to search for the _AKIRA_ volumes. The search will return you the +right results, but it will also return the _Dragon Ball_ volumes, +since it has a match in the _author_ field (**Akira** Toriyama). +This issue can be solved by using the advanced mode, explained +in the next section. + +## Advanced mode + +The search in advanced mode allows you to specify which fields +you want the query to be search, and even use some additional +time filters. + +The syntax is the same used in many other apps, such as Twitter or Discord. +You have to put the keyword followed by a colon and then the query, +surrounding it with double quotes if it has spaces in it. + +Returning to the same example of the previous section, the issue +could be easily solved by searching for `title:akira`, that would +make the search look only in the _title_ field, removing the +_Dragon Ball_ volumes from the results. + +In the next section you will find the relation of all keywords +available, followed by how they work individually. + +## String keywords + +The query parameter of the following keywords **needs to be a string**, +i.e., a text, that needs to be surrounded with double quotes if it +has spaces in it. + +| Keyword | Description | +| ------------| ----------------------------------------------------------- | +| `id` | Search for a book with the ID strictly equal to the term. | +| `code` | Search for a book with the code strictly equal to the term. | +| `title` | Search for the term inside the title field. | +| `group` | Search for the term inside the group field. | +| `author` | Search for the term inside the authors field. | +| `publisher` | Search for the term inside the publisher field. | +| `store` | Search for the term inside the store field. | +| `notes` | Search for the term inside the notes field. | +| `tag` | Search for the term inside the tags field. | + +## Time keywords + +The query parameter of the following keywords **needs to be a valid date** +in the formats `YYYY`, `YYYY-MM`, or `YYYY-MM-DD`. It's not necessary +to put the date surrounded by double quotes. + +| Keyword | Description | +| -----------------| ----------------------------------------------------- | +| `bought-at` | Search for bought books in the date. | +| `bought-before` | Search for bought books before the date (exclusive). | +| `bought-after` | Search for bought books after the date (exclusive). | +| `read-at` | Search for books read in the date. | +| `read-before` | Search for books read before the date (exclusive). | +| `read-after` | Search for books read after the date (exclusive). | +| `created-at` | Search for books created in the date. | +| `created-before` | Search for books created before the date (exclusive). | +| `created-after` | Search for books created after the date (exclusive). | +| `updated-at` | Search for books updated in the date. | +| `updated-before` | Search for books updated before the date (exclusive). | +| `updated-after` | Search for books updated after the date (exclusive). | + +## Multiple usages + +If your search includes multiple keywords that are equal, +their usages can be joined in only a single one, by joining +the terms by a colon. + +For example, `publisher:viz publisher:kodansha` can be replaced +by `publisher:viz,kodansha`, and the results will be the same. + +## Removing results + +All keywords supports their inverse usage (exclusion), by using +it with the minus symbol in the beginning. + +For example, using `-publisher:tokyopop` will search for books +that **does not have** the "tokyopop" match in the publisher field. + +## Examples + +`bought-at:2022-01 group:manga` +: Books in the "manga" group **and** bought in January 2022. + +`sword art online group:novels` +: Books that matches "sword art online" in the title **and** + are in the "novels" group. + +`group:manga -publisher:tokyopop` +: Books in the "manga" group **and** aren't from the "tokyopop" publisher. \ No newline at end of file diff --git a/docs/en-US/sharing.md b/docs/en-US/sharing.md new file mode 100644 index 00000000..52435ab0 --- /dev/null +++ b/docs/en-US/sharing.md @@ -0,0 +1,51 @@ +--- +title: Sharing +category: guide +date: 2022-03-09T16:30:00.000-03:00 +--- + +You can view the collection of other accounts if they share the +sheet file in Google Drive with your account, or have defined +the file visibility to public. + +[[toc]] + +## Sharing the sheet + +Follow the steps above to share the sheet with other account: + +1. Find the sheet file in your Google Drive. +2. Click with the right button and choose the **Share** option. +3. Add the e-mails of the Google Accounts. + +If you define an account as editor, the person will be able to +view and edit your books. This is a good use case if you have +a shared collection. If it's not the case, we recommend let +the other accounts role only as reader to avoid problems. + +For more information on how to do it on other devices, +check the article in [Google Drive Help]. + +[Google Drive Help]: https://support.google.com/drive/answer/2494822?hl=en + +## Viewing a shared sheet + +If anyone shared their collection with your account, you need +to find the file in your Google Drive and mark it with a star, +to make it more easier to be found by the app. + +To change the current sheet, follow the steps above: + +1. Navigate to Dashboard. +2. Click on the **Change sheet** button. +3. Choose another sheet and click on the **Select** button. + +After changing, the data will be synced. If you are viewing a sheet +from another account, the profile picture of the person will appear +in some locations, to let it clear which sheet you're viewing. + +## Removing the access + +To remove the access from other accounts, follow the same steps +from the [Sharing the sheet](#sharing-the-sheet) section and remove +the accounts you don't want anymore. diff --git a/docs/en-US/terms-of-use.md b/docs/en-US/terms-of-use.md new file mode 100644 index 00000000..7b29de5c --- /dev/null +++ b/docs/en-US/terms-of-use.md @@ -0,0 +1,44 @@ +--- +title: Terms of Use +category: general +date: 2021-07-08T22:30:00.000-03:00 +--- + +This page contains the terms of use of the Toshokan website. + +**Please read this terms carefully, because by acessing +or using any part of this website, you automatically agree +with them. If you don't agree with the terms, you can't +access this website or use any of its services.** + +We reserve our right to change these terms at any time. +It is your responsability to periodically check changes +made to this page. Your access to this website before +those updates implies in your agreement of such changes. +You can review the most current version of the terms +at any time on this page. + +[[toc]] + +## Electronic communication + +You understant that your content may be transferred unencrypted +and may: **(a)** be transmitted over various networks; and **(b)** +go through changes to adapt to the technical requirements of +network or device connections. Authentication information is always +encrypted during the transfer across networks. + +## Third party services + +We use the [Google Authentication Service] +with Google Drive and Google Sheets. By using this website and +authenticating with your Google Account, you agree with Google's +[Service Terms] and [Privacy Policy]. + +[Google Authentication Service]: https://developers.google.com/identity/sign-in/web +[Service Terms]: https://policies.google.com/terms?hl=en +[Privacy Policy]: https://policies.google.com/privacy?hl=en + +## Privacy policy + +By using this website, you agree with our Privacy Policy. diff --git a/docs/pt-BR/a11y.md b/docs/pt-BR/a11y.md new file mode 100644 index 00000000..42ee8a8d --- /dev/null +++ b/docs/pt-BR/a11y.md @@ -0,0 +1,93 @@ +--- +title: Acessibilidade +category: general +date: 2022-03-09T15:34:00.000-03:00 +--- + +Este site possui alguns recursos de acessibilidade. + +[[toc]] + +## Pular para o conteúdo + +Todas as páginas possuem um link interno para pular para +o conteúdo principal. Ele pode ser utilizado por usuários +que naveguem utilizando somente o teclado ou através de um +leitor de tela para ir direto para a parte principal da página. + +## Pular para a navegação + +Em páginas como o Dashboard, você também encontrará um link +interno para pular diretamente para a navegação principal. + +## Menus + +Os menus utilizados da biblioteca Headless UI seguem as recomendações +dos padrões da WAI-ARIA. Os comandos com teclado podem ser consultados +na tabela abaixo. + +| Comando | Descrição | +| ----------------------- | ------------------------------------------------------------- | +| [[Enter]] ou [[Espaço]] | Abre o menu e foca no primeiro item não desabilitado. | +| [[↑]] ou [[↓]] | Abre o menu e foca no primeiro/último item não desabilitado. | +| [[Esc]] | Fecha qualquer menu aberto. | +| [[↑]] ou [[↓]] | Quando aberto, foca no próximo item/item anterior. | +| [[Home]] ou [[End]] | Quando aberto, foca no primeiro/último item não desabilitado. | +| [[Enter]] ou [[Espaço]] | Quando aberto, ativa/clica no item atual. | +| [[A-Z]] ou [[a-z]] | Quando aberto, foca no primeiro item que corresponde a tecla. | + +## Navegação + +O site possui carregamento dinâmico dos conteúdos. Quando +a rota é alterada, o leitor de tela é informado através de uma +modificação em um elemento de controle. + +## Animações + +O site respeita a configuração no sistema operacional, se disponível, +para desabilitar animações não-essenciais. Você pode encontrar +esta configuração na seção de Acessibilidade de seu computador +e/ou dispositivo. + +## Interação com teclado + +O site suporta a utilização apenas com o teclado. A navegação tenta +ao máximo implementar as boas práticas e teclas comumente utilizadas, +conforme as tabelas de comandos disponíveis abaixo. + +### Operações simples + +Todos os componentes HTML5 suportam estes comandos. + +| Comando | Descrição | +| ----------------------- | ------------------------------------------------------ | +| [[Tab]] | Pula e foca no próximo componente. | +| [[Shift]] + [[Tab]] | Pula e foca no componente anterior. | +| [[Enter]] ou [[Espaço]] | Efetua a ação do botão ou seleciona caixas de seleção. | + +### Operações em componentes selecionáveis + +Componentes selecionáveis incluem a grade de grupos e de livros, a tabela +de livros na biblioteca e o navegador no início do *dashboard*. + +| Comando | Descrição | +| ------------------------------------------- | ---------------------------------------------------- | +| [[↑]] ou [[↓]] | Desce/sobe para o item abaixo/acima. | +| [[→]] ou [[←]] | Avança/retrocede em um item para a direita/esquerda. | +| [[Home]] ou [[End]] | Pula para o primeiro/último item. | +| [[Shift]] + [[↓]] ou [[Shift]] + [[↑]] | Aumenta a seleção no sentido inferior/superior. | +| [[Shift]] + [[End]] ou [[Shift]] + [[Home]] | Seleciona do item atual até o último/primeiro. | +| [[Ctrl]] + [[↓]] ou [[Ctrl]] + [[↑]] | Move o cursor para baixo/cima. | +| [[Ctrl]] + [[End]] ou [[Ctrl]] + [[Home]] | Move o cursor para o último/primeiro item. | +| [[Ctrl]] + [[A]] | Seleciona/desseleciona todos os itens. | +| [[Ctrl]] + [[K]] | Abre a tela de busca na coleção, quando ativada. | + +Em sistemas macOS, utilize o [[Command]] no lugar do [[Ctrl]]. + +## Problemas de acesso + +Caso encontre algum problema com o acesso ou alguma implementação +feita de maneira incorreta, por favor, abra uma *Issue* em nosso +[repositório no GitHub]. + +[repositório no GitHub]: https://github.com/alessandrojean/toshokan/issues/new/choose diff --git a/docs/pt-BR/about.md b/docs/pt-BR/about.md new file mode 100644 index 00000000..47148329 --- /dev/null +++ b/docs/pt-BR/about.md @@ -0,0 +1,98 @@ +--- +title: Sobre o projeto +category: general +date: 2022-03-06T21:39:00.000-03:00 +--- + +Nesta página você irá descobrir um pouco mais sobre o projeto. + +[[toc]] + +## As motivações + +O projeto foi criado por conta de várias limitações nos sites de +gerenciamento de coleção de mangás e quadrinhos, tais como: + +- Design desatualizado e sem compatibilidade com _mobile_; +- Marca d'água nas capas dos livros; +- Site lento ou quebrado; +- Falta de campos melhores para categorização; +- Código fechado e privacidade do usuário duvidosa; +- Sem suporte para marcar como lido e histórico de leitura. + +Também não existia nenhum utilitário (_offline_ ou não) que permitia que +o usuário tivesse total controle sobre os dados de sua coleção. Já que +nenhum dos sites banco de dados existentes tem uma API pública, o projeto +teria que depender em preenchimento manual, mas isto é um problema ínfimo +levando em consideração a vantagem de realmente ser o dono dos seus dados. + +## O _script_ para planilha + +O primeiro conceito deste utilitário foi criado diretamente no Planilhas +do Google, utilizando o ambiente de _script_ disponibilizado, o _Google +Apps Script_. Foi útil para a criação e edição dos livros, pas era ruim +de visualizar os dados somente por uma tabela, era uma das limitações. + +Desde o começo, já existiam a busca de ISBN e capas, uns dos principais +recursos que ajudam bastante na criação das fichas. + +## A primeira versão + +O primeiro site foi criado usando [Vue.js] (o mesmo _framework_ que é +usado na versão atual) e [Vuetify] como o kit de UI. Mesmo tendo funcionado +bem, a performance não era tão boa, a UI era lenta e o utilitário fazia +um péssimo uso dos dados na memória, requisitando todos os dados da +planilha de uma vez e trabalhando localmente com eles. + +[Vue.js]: https://vuejs.org/ +[Vuetify]: https://vuetifyjs.com/ + +## A versão atual + +A versão atual é mais otimizada e usa o [Tailwind CSS] para a UI. +É feito usando [Vite] e [Netlify]. O algoritmo de requisição de dados +foi melhorado e carrega muito mais rápidamente em comparação a primeira +versão disponível. + +[Tailwind CSS]: https://tailwindcss.com/ +[Vite]: https://vitejs.dev/ +[Netlify]: https://www.netlify.com/ + +## Desenvolvimento + +O projeto ainda está em Beta, então seu uso para catalogação é limitado +para poucos _beta testers_, e não estamos abertos para novos no momento, +sentimos muito. + +Se não fosse pelos _beta testers_, o projeto nunca estaria em constante +melhoria e otimização. Agradecemos bastante a colaboração e _feedback_. + +Se você encontrar algum _bug_ ou problema, agradecemos se você tiver +um tempo para reportar **(em inglês)** no nosso [repositório do GitHub], +preenchendo um dos formulários de _Issues_. + +[repositório do GitHub]: https://github.com/alessandrojean/toshokan/issues/new/choose/ + +## Doações individuais + +Se você acredita que o projeto é útil para você e deseja contribuir, +você pode fazer uma doação através do [PicPay]. Agradecemos bastante! + +[PicPay]: https://app.picpay.com/user/alessandrojean + +## Patrocínio + +Se você tem um negócio relacionado a mangás, quadrinhos ou livros (tal +como uma loja, por exemplo), e deseja patrocinar o projeto mensalmente, +por favor abra uma _Issue_ no nosso [repositório do GitHub] para +que possamos discutir sobre. + +Patrocinando o projeto, seu logo será incluido no arquivo `README.md` +e na página inicial e _sidebars_ da Central de Ajuda, dependendo +do plano de patrocínio escolhido. + +Ainda não estabelecemos os planos disponíveis, mas fique de olho +nesta páginas para atualizações eventuais se deseja que seu +negócio patrocine o projeto. + +[repositório do GitHub]: https://github.com/alessandrojean/toshokan/issues/new/choose/ diff --git a/docs/pt-BR/instructions.md b/docs/pt-BR/instructions.md new file mode 100644 index 00000000..b305ba1f --- /dev/null +++ b/docs/pt-BR/instructions.md @@ -0,0 +1,194 @@ +--- +title: Instruções de uso +category: guide +date: 2022-03-09T12:04:00.000-03:00 +--- + +O Toshokan é um utilitário com o objetivo de prover uma interface +de usuário amigável para um melhor gerenciamento de sua planilha +de coleção de mangás, quadrinhos, livros e impressos em geral. + +A planilha, por sua vez, deve seguir um _template_ bem estrito, +que deve ser copiado para sua conta do Google Drive para que a aplicação +possa ter acesso. + +A aplicação somente lê e altera as informações na planilha, +assim você ainda tem controle total sobre seus dados da coleção e +poderá manipulá-los facilmente caso queira exportá-los ou utilizá-los +em outro serviço, por exemplo. + +[[toc]] + +## Antes de começar + +Na primeira utilização, você deve realizar o procedimento de criação +do arquivo da planilha que conterá suas informações da coleção. + +- Autentique-se com sua conta no site do [Google Drive]. +- Acesse [esta planilha] e faça uma cópia em **Arquivo → Fazer uma cópia**. +- **Não renomeie o arquivo**, o nome deve ser mantido como **Toshokan**. + +Nas próximas vezes, a planilha copiada será escolhida automaticamente. + +[Google Drive]: https://drive.google.com/ +[esta planilha]: # + +## Autenticando-se + +Tendo copiado a planilha para seu Google Drive, você já pode começar +a gerenciar sua coleção no Toshokan, autenticando-se com sua +Conta do Google. + +- Acesse a página inicial e clique em **Entrar com Google**. +- Permita o acesso do Toshokan às informações requisitadas em sua conta. + +Nas próximas vezes, você não precisará conceder a permissão novamente. + +### Sobre o uso de suas informações pessoais + +O Toshokan é uma aplicação de código-aberto, estática e totalmente +renderizada no lado do navegador, isto é, não possuímos um servidor +próprio para armazenar seus dados e nem nos comunicamos com +serviços externos para repassar seus dados. + +Você pode remover a permissão de acesso +do utilitário a suas planilhas e arquivos do Google Drive +a qualquer momento em suas configurações da Conta do Google. + +Você pode ler mais sobre em nossa Política de Privacidade. + +## Criando o primeiro livro + +Ao entrar pela primeira vez, por conta da planilha estar vazia, +você será informado e convidado a criar o primeiro livro através +do utilitário. + +Caso a pesquisa por ISBN esteja habilitada, você poderá realizar +a pesquisa e obter um formulário pré-preenchido com os metadados +do livro na próxima etapa, isso se o código é válido e um livro +com tal código existe no banco de dados do provedor. + +![Primeira etapa: pesquisa por ISBN.](@/assets/about/new-book-step-01.jpg) + +O ISBN para a pesquisa pode ser digitado com ou sem os hífens, +e a pesquisa também funciona para livros mais antigos que utilizem +o ISBN de 10 dígitos. Entretanto, a pesquisa só irá retornar +resultados de livros publicados no território nacional, ou seja, +livros em que o código começa com **978-85** ou **978-65**. + +Caso a pesquisa não retorne nenhum resultado ou o livro não +possui um ISBN brasileiro, você poderá optar por +**Preencher manualmente**. + +![Segunda etapa: preenchimento dos metadados do livro.](@/assets/about/new-book-step-02.jpg) + +As informações do livro no provedor de pesquisa não necessariamente +estão corretas e/ou seguem um padrão, portanto na maioria das vezes +você precisará realizar pequenos ajustes nos metadados. Na imagem acima, +o mangá teve seu título e autor cadastrado com caixa alta, e precisa +ser arrumado. + +## Os metadados do livro + +Abaixo você encontra uma explicação sucinta de cada metadado. + +Identificação +: Geralmente o ISBN do livro, mas outros códigos únicos como + o ISSN ou EAN podem ser utilizados em sua ausência. + Em publicações independentes, o valor **N/A** + (não se aplica) pode ser utilizado. + +Título +: Nome oficial do livro. Em casos de publicações seriadas, isto + é, com mais de um volume, pode-se utilizar o caractere + **#** (cerquilha) seguido do número. + + **Exemplo:** Lobo Solitário #05: O Segredo do Vento Sul + +Autores +: Pessoas envolvidas na criação do livro, tais como escritores, + roteiristas, desenhistas, letristas etc. Em caso de múltiplas pessoas, + você deve separar os nomes pelo caractere de + **ponto-e-vírgula**. + + **Exemplo:** Kazuo Koike; Goseki Kojima + +Editora +: Editora que lançou a edição nacional do livro. Algumas vezes + o valor retornado pelo provedor é incorreto e o utilitário realizará + a correção, mas pode ser que você ainda precise modificar manualmente. + +Grupo +: Grupo que este livro possui em comum com outros em sua coleção. + Apesar de idealmente o recomendado ser utilizar o tipo de publicação + (tal como "livros", "quadrinhos" ou "mangás"), você também pode, se + desejar, utilizar o nome da obra em casos com vários volumes. + + Você deve preencher esta informação manualmente sempre. + +Dimensões +: Relação de largura e altura, em centímetros. Os valores + podem ter no máximo um dígito na casa decimal. + +Preço de capa +: Preço cheio do livro. Você pode utilizar até dois dígitos + para as casas decimais. + + Em caso de livros importados, você poderá trocar a moeda + na caixa de seleção ao lado, escolhendo pelo código equivalente + no [ISO 4217]. + +Preço pago +: Preço promocional pago na compra. Quando não se aplicar, + você deve preencher com o valor do preço de capa. + Você também pode trocar a moeda utilizada. + +Loja +: Local onde a compra do livro foi realizada. Você pode preencher + com o valor **Desconhecido** quando não se recordar + ou quando não quiser preencher. + +Data de entrada +: Data quando o item entrou na sua coleção. É utilizado para + gerar as estatísticas de gastos mensais. Caso você não recorde + ou não possua mais esta informação, você pode deixar o valor + do campo em branco apagando o dia, mês e ano. + +![Metadados do livro preenchidos corretamente.](@/assets/about/new-book-step-03.jpg) + +[ISO 4217]: https://pt.wikipedia.org/wiki/ISO_4217 + +## Imagem de capa + +Após preencher os metadados do livro, você poderá escolher uma +imagem de capa obtida automaticamente da Amazon ou do site da editora, +ou providenciar uma URL válida para uma imagem personalizada. + +Caso você queira deixar o sem imagem, basta não selecionar +nenhuma das opções. + +![Terceira etapa: escolha da imagem de capa.](@/assets/about/new-book-step-04.jpg) + +## Revisão das informações + +Com os metadados preenchidos e a imagem de capa escolhida, +você pode realizar uma última revisão das informações antes +de concluir o procedimento e adicionar o novo livro na planilha. + +![Quarta etapa: revisão das informações.](@/assets/about/new-book-step-05.jpg) + +Caso todas as informações estejam corretas, você deve +clicar em **Concluir**. + +![Diálogo de confirmação de criação.](@/assets/about/new-book-step-06.jpg) + +Com isso, o livro será adicionado na planilha e você poderá em +seguida optar por **Visualizar**, caso queira ir direto para a +página com as informações, ou **Novo livro** caso queira +adicionar um em sequência. + +![Página das informações do livro.](@/assets/about/new-book-step-07.jpg) + +Agora o livro está salvo na planilha e você já pode continuar +o procedimento ao inserir novos ou explorar sua biblioteca +através do item **Biblioteca** na navegação principal. diff --git a/docs/pt-BR/privacy-policy.md b/docs/pt-BR/privacy-policy.md new file mode 100644 index 00000000..14f9ff97 --- /dev/null +++ b/docs/pt-BR/privacy-policy.md @@ -0,0 +1,123 @@ +--- +title: Política de Privacidade +category: general +date: 2021-07-08T22:30:00.000-03:00 +--- + +A política de privacidade aplica-se a todas as páginas deste site. + +[[toc]] + +## Informações coletadas + +O Toshokan precisa receber algumas informações pessoais de sua +Conta do Google para que o utilitário possa funcionar corretamente. + +Todas as informações recebidas são tratadas no navegador e não +são armazenadas e nem retransmitidas para algum serviço externo. +Além disso, o site é de código-aberto, ou seja, qualquer um pode +inspecionar o código e apontar quaisquer problemas no repositório +no GitHub. + +### Informações que você fornece + +Estas informações são obtidas quando você concede permissão +para que o Toshokan acesse a planilha da coleção. + +- **Suas informações pessoais**. Utilizamos seu + nome, e-mail e foto de perfil de sua conta do Google para + personalizar a interface de usuário. O sistema de autenticação + do Google fornece estas informações por padrão e não é possível + optar por não recebê-las. +- **Seus arquivos do Google Drive**. Requisitamos + um escopo de somente-leitura de informações dos seus arquivos + no Google Drive para que possamos encontrar o ID da planilha + da coleção. Não temos acesso aos conteúdos dos arquivos, com + exceção da planilha em si. +- **Suas planilhas no Google Sheets**. Precisamos + de acesso de leitura e escrita em suas planilhas para poder + obter os dados e gravar novas informações da coleção. Somente + os dados desta planilha da coleção são lidos e modificados. + +Você pode remover completamente a permissão de acesso do Toshokan +a sua Conta do Google seguindo as instruções +[neste artigo] da Central de Ajuda do Google. +Após remover a permissão de acesso, não teremos mais acesso a +seus dados. + +[neste artigo]: https://support.google.com/accounts/answer/3466521?hl=pt-BR#remove-access + +### Como utilizamos as informações + +Não armazenamos suas informações em nenhum servidor do site. +O Toshokan é somente um site com conteúdo estático. As informações +recebidas de sua Conta do Google são armazenadas temporariamente +na memória durante a utilização do site. Quando você realiza +o logoff ou fecha o site, as informações são automaticamente +deletadas. Elas só serão requisitadas novamente ao sistema de +autenticação do Google na próxima vez que você utilizar o site +e de fato se autenticar. + +## Compartilhamento de dados com terceiros + +Não realizamos o compartilhamento de nenhuma informação ou dado +pessoal de sua Conta do Google, bem como o conteúdo de suas planilhas +e dos arquivos de seu Google Drive com terceiros. Tal fato pode ser +comprovado através de uma inspeção do código-fonte do site no +repositório público no GitHub. + +Por ser um site de código-aberto, qualquer um pode clonar o código +em sua totalidade ou criar uma ramificação, modificar, compilar +e hospedar em seu próprio servidor. Não temos controle e nem +responsabilidade sobre outras instâncias ou ramificações do +Toshokan que não sejam esta neste site (https://toshokan-app.netlify.com). +Pedimos que sempre se atente se está acessando do site de +demonstração ou de sua própria versão local, como recomendado +nas instruções do arquivo README.md do repositório. + +Apesar de não compartilharmos nenhum dado pessoal seu com terceiros, +nos reservamos ao direito de incluir futuramente links de compra +de produtos que participem do produto de afiliados de algumas lojas. +Estes links não incluem nenhuma informação pessoal, mas os sites das +lojas podem possuir algum mecanismo de monitoramento e identificação +única, as quais não temos responsabilidade e nem controle. Você pode +obter mais informações em relação a esta prática nos Termos de Uso e +Política de Privacidade das lojas. + +## Atualizações em nossa Política de Privacidade + +Podemos alterar ou atualizar nossa Política de Privacidade. +Iremos informá-lo sobre alterações a esta Política de Privacidade, +se apropriado, e atualizar a data de "Última atualização" na +parte inferior desta página. Por favor, verifique nossa Política +de Privacidade periodicamente. + +## Lei Geral de Proteção de Dados Pessoais (LGPD) + +Esta seção se aplica ao processamento de dados pessoais dentro +da lei brasileira e complementa a nossa Política de Privacidade. + +Dentro da Lei Geral de Proteção de Dados Pessoais, você tem +o direito de acessar, retificar, possuir, deletar, e confirmar +que processamos seus dados. Em certas circunstâncias, você também +tem o direito de se opor e restringir o processamento de +seus dados pessoais. Esta página fornece informações nas seções +anteriores sobre como processamos e utilizamos seus dados. + +Você pode remover completamente a permissão de acesso do Toshokan +a sua Conta do Google seguindo as instruções +[neste artigo] da Central de Ajuda do Google. +Após remover a permissão de acesso, não teremos mais acesso a +seus dados. + +Informações sobre como o Google se responsabiliza com seus dados +segundo a LGPD podem ser obtidas [nesta página] +da Central de Ajuda do Google. + +O conteúdo completo da Lei Nº 13.709, +de 14 de Agosto de 2018, pode ser acessado através +[desta página] no site do Planalto Federal. + +[neste artigo]: https://support.google.com/accounts/answer/3466521?hl=pt-BR#remove-access +[nesta página]: https://support.google.com/authorizedbuyers/answer/9928204?hl=pt-BR +[desta página]: http://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm diff --git a/docs/pt-BR/searching.md b/docs/pt-BR/searching.md new file mode 100644 index 00000000..3e513e2c --- /dev/null +++ b/docs/pt-BR/searching.md @@ -0,0 +1,120 @@ +--- +title: Pesquisando +category: guide +date: 2022-03-06T22:30:00.000-03:00 +--- + +Após ter cadastrado os livros de sua coleção, você pode pesquisar +na sua biblioteca através da barra de busca no cabeçalho. + +[[toc]] + +## Modo simples + +Digite sua pesquisa para apenas buscar nos campos de _código_, +_título_ e _autor_. + +A busca na planilha será feita com o operador lógico `OU`, isto é, +quaisquer livros que tenham correspondências em alguns dos campos +citados anteriormente, seja em um ou em vários, será retornado. + +Utilizar a pesquisa simples pode ser problemático em alguns casos +em que é necessário filtrar os resultados. Por exemplo, imagine que +em sua coleção cadastrou os volumes do mangá _AKIRA_ e de +_Dragon Ball_, e você quer buscar pelo mangá _AKIRA_, porém a pesquisa +te retornará não só os mangás corretos, mas também os de _Dragon Ball_, +visto que há uma correspondência no campo autor dos mangás (**Akira** +Toriyama). Este problema pode ser corrigido ao se utilizar o modo +avançado, explicado na próxima seção. + +## Modo avançado + +A pesquisa no modo avançado permite com que sejam específicados +os campos em que o termo será procurado, bem como utilizar +alguns filtros adicionais temporais. + +A sintaxe é a mesma utilizada em diversos outros aplicativos, +como o Twitter ou Discord. Você deve utilizar a palavra-chave +seguida de dois pontos e o termo, colocando aspas ao redor +dele caso contenha espaços. + +Dando continuidade ao exemplo da seção anterior, o problema poderia +ser facilmente solucionado ao pesquisar por `título:akira`, +que limitaria a pesquisa somente ao campo de título dos livros, +removendo os mangás de _Dragon Ball_ dos resultados. + +Abaixo você encontra a relação de todas as palavras-chave disponíveis, +bem como a explicação de seu funcionamento individual. + +## Palavras-chave textuais + +As seguintes palavras-chave esperam o termo buscado **seja uma cadeia de +caracteres**, isto é, um texto, desde que esteja envolto por aspas duplas +caso contenha espaços. + +| Palavra-chave | Descrição | +| --------------- | --------------------------------------------------------------- | +| `id` | Pesquisa pelo livro com ID estritamente igual ao termo. | +| `código` | Pesquisa pelos livros com o código estritamente igual ao termo. | +| `título` | Pesquisa pelo termo dentro do título. | +| `grupo` | Pesquisa pelo termo dentro do grupo. | +| `autor` | Pesquisa pelo termo dentro dos autores. | +| `editora` | Pesquisa pelo termo dentro da editora. | +| `loja` | Pesquisa pelo termo dentro do local de compra. | +| `observações` | Pesquisa pelo termo dentro das observações. | +| `tag` | Pesquisa pelo termo dentro das tags. | + +## Palavras-chave temporais + +As seguintes palavras-chave esperam que o termo buscado **seja uma data +válida** no formato `YYYY`, `YYYY-MM` ou `YYYY-MM-DD`. Não é +necessário envolver a data em aspas duplas, já que o formato esperado +não permite espaços. + +| Palavra-chave | Descrição | +| ------------------------ | ------------------------------------------------------------------ | +| `comprado-em` | Pesquisa por livros comprados em tal data, mês ou ano. | +| `comprado-antes-de` | Pesquisa por livros comprados exclusivamente antes de tal data. | +| `comprado-depois-de` | Pesquisa por livros comprados exclusivamente depois de tal data. | +| `lido-em` | Pesquisa por livros lidos em tal data, mês ou ano. | +| `lido-antes-de` | Pesquisa por livros lidos exclusivamente antes de tal data. | +| `lido-depois-de` | Pesquisa por livros lidos exclusivamente depois de tal data. | +| `criado-em` | Pesquisa por livros criados em tal data, mês ou ano. | +| `criado-antes-de` | Pesquisa por livros criados exclusivamente antes de tal data. | +| `criado-depois-de` | Pesquisa por livros criados exclusivamente depois de tal data. | +| `atualizado-em` | Pesquisa por livros atualizados em tal data, mês ou ano. | +| `atualizado-antes-de` | Pesquisa por livros atualizados exclusivamente antes de tal data. | +| `atualizado-depois-de` | Pesquisa por livros atualizados exclusivamente depois de tal data. | + +## Combinando múltiplos usos + +Caso sua pesquisa inclua múltiplas palavras-chave iguais, +seus usos podem ser combinados em apenas um, juntando os +termos por uma vírgula. + +Por exemplo, `editora:jbc editora:newpop` pode ser +substituido por `editora:jbc,newpop`, e os resultados +serão exatamente os mesmos. + +## Excluindo itens + +Todas as palavras-chave suportam o uso de seu inverso (exclusão) +ao utilizá-la com um sinal de menos no começo. + +Por exemplo, usar `-editora:panini` buscará todos os livros +que **não tenham** a correspondência de "panini" no campo +da editora. + +## Exemplos + +`comprado-em:2022-01 grupo:mangás` +: Livros que sejam do grupo "mangás" **e** foram comprados + entre o período de 01/01/2022 e 31/01/2022 (inclusive). + +`sword art online grupo:novels` +: Livros que tenham "sword art online" no título **e** + sejam do grupo "novels". + +`grupo:mangás -editora:panini` +: Livros que sejam do grupo "mangás" **e** não + sejam da editora "newpop". \ No newline at end of file diff --git a/docs/pt-BR/sharing.md b/docs/pt-BR/sharing.md new file mode 100644 index 00000000..b61f938e --- /dev/null +++ b/docs/pt-BR/sharing.md @@ -0,0 +1,52 @@ +--- +title: Compartilhando +category: guide +date: 2022-03-09T16:30:00.000-03:00 +--- + +Você pode visualizar as coleções de outras pessoas caso as mesmas +compartilhem o arquivo da planilha no Google Drive com a sua conta, +ou tenham definido a visibilidade do arquivo como pública. + +[[toc]] + +## Compartilhando a planilha + +Siga os passos abaixo para compartilhar a planilha com outra pessoa: + +1. Localize o arquivo da planilha em seu Google Drive. +2. Clique com o botão direito do mouse e escolha a opção **Compartilhar**. +3. Adicione os e-mails das Contas do Google das pessoas. + +Caso você defina alguma pessoa como editor, ela poderá não só visualizar +sua planilha pelo aplicativo, mas também poderá editar os livros. Isto é +útil em caso de coleções compartilhadas. Se este não for o caso, recomendamos +deixar as pessoas apenas como **Leitores** para evitar problemas. + +Para mais informações em como compartilhar em outros dispositivos, +confira o artigo no site de [Ajuda do Google Drive]. + +[Ajuda do Google Drive]: https://support.google.com/drive/answer/2494822?hl=pt-BR + +## Visualizando uma planilha + +Caso alguém tenha compartilhado a coleção com sua conta, você deve +localizar o arquivo no seu Google Drive e marcar com uma estrela, +para facilitar com que ela seja encontrada. + +Para trocar a planilha atual, siga os passos abaixo: + +1. Navegue para o Dashboard. +2. Clique no botão **Escolher planilha**. +3. Escolha outra planilha e clique em **Selecionar**. + +Após ter trocado, os dados serão sincronizados. Caso você esteja +vendo a planilha de outra conta, a foto de perfil da pessoa aparecerá +em alguns locais da aplicação, para deixar claro qual planilha você +está acessando e visualizando. + +## Removendo o acesso + +Para remover o acesso de outras contas, basta fazer o mesmo procedimento +listado na seção [Compartilhando a planilha](#compartilhando-a-planilha) +e remover as contas que não deseja que tenham mais acesso a sua coleção. diff --git a/docs/pt-BR/terms-of-use.md b/docs/pt-BR/terms-of-use.md new file mode 100644 index 00000000..60eb8f10 --- /dev/null +++ b/docs/pt-BR/terms-of-use.md @@ -0,0 +1,44 @@ +--- +title: Termos de Uso +category: general +date: 2021-07-08T22:30:00.000-03:00 +--- + +Esta página lista os termos de uso do site Toshokan. + +**Por favor, leia cuidadosamente estes termos, pois ao acessar ou usar +qualquer parte deste site, você automaticamente concorda com eles. +Se não concordar com os termos, você não poderá acessar o site +ou usar quaisquer de seus serviços.** + +Reservamos o direito de alterar esses termos a qualquer momento. +É sua responsabilidade verificar as alterações feitas nesta página +periodicamente. Seu acesso ao site após a publicação de quaisquer +alterações constitui aceitação de tais alterações. Você pode revisar +a versão mais atual dos termos a qualquer momento nesta página. + +[[toc]] + +## Comunicação eletrônica + +Você entende que o seu conteúdo pode ser transferido sem criptografia +e pode: **(a)** ser transmitido por várias redes; e +**(b)** sofrer alterações para se adaptar e se adequar +às exigências técnicas de conexão de redes ou dispositivos. As +informações de autenticação sempre são criptografadas durante +a transferência entre redes. + +## Serviços de Terceiros + +Utilizamos o [Serviço de Autenticação do Google], +bem como o Google Drive e Google Sheets. Ao utilizar este site e se +autenticar através da sua Conta do Google, você concorda +com os [Termos de Serviço] e a [Política de Privacidade] do Google. + +[Serviço de Autenticação do Google]: https://developers.google.com/identity/sign-in/web +[Termos de Serviço]: https://policies.google.com/terms?hl=pt-BR +[Política de Privacidade]: https://policies.google.com/privacy?hl=pt-BR + +## Política de Privacidade + +Ao utilizar este site, você concorda com nossa Política de Privacidade. diff --git a/index.html b/index.html index f77cb91e..9eee3e77 100644 --- a/index.html +++ b/index.html @@ -21,14 +21,15 @@ - + + - +