* Refine locals of some internal pages headlines * Create page 'legacy information' * Move filter button into menu * Refine page 'legacy information' * Create internal page 'code-of-conduct.html' * Refine internal page 'code-of-conduct.html' * Refine page 'legacy information' * Create internal page 'imprint.html' * Create internal page 'faq.html' * Create internal page 'support.html' * Refine internal page 'faq.html' * Refine internal page 'imprint.html' * Move parts of internal page 'data-privacy.html' to 'terms-and-conditions.html' * Refine internal page 'data-privacy.html' * Fix tool tip text * Fix 'email' -> 'e-mail' * Rename title of organization footer item - Remove donation page from footer * Change 'Reformer.Network' to 'Reformer.network' * Create internal page 'organization.html' * Refine internal pages * Translate internal pages * Change brandings $secondary-color from 'rgb(244, 142, 0)' to 'rgb(239, 123, 0)' * Change branding $color-primary-active from 'rgb(95, 97, 92)' to 'rgb(135, 135, 135)' * Move commented font commands in '_branding.scss' * Set $color-tertiary-light and ribbon colors in '_branding.scss' * Refactor branding of post ribbons * Refactor Logos * Change branding $secondary-color from 'rgb(239, 123, 0)' to 'rgb(239, 124, 0)' * Refactor colors after the designer suggestions - first step * Change diverse collorings - Change border color - Change plus button - Change hashtag color - Change footer link hover - Change number count color - Change input border color * Add font Inter * Use font Inter * Make font branding work * Hover effect for user teaser * Syncronize 'metadata.ts' with webapp * Refine e-mail notifications * Adjust notification settings buttons * Refine third party setting * Fix post teaser counter icon tooltips translations * Refine e-mail notifications * Refine third party setting * Add link hover to all internal pages * Set font family to Inter - Cleanup * Set background, color, and font weight of user avatar * Make login, registration, password-reset layout brandable - Rename some variables related to this * Set background images for Login etc. * Set layout for Login etc. to be 'blank' * Add login etc. background images * - first fix for login, registration and password-reset * - fixed background (including jumping) * - removing quote block by css - adding text block by css * - set font weight * - added approach also for registration page * removed registration hack --------- Co-authored-by: Maximilian Harz <maxharz@gmail.com> Co-authored-by: Sebastian Stein <sebastian@codepassion.de> Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
Webapp
Installation
For preparation we need Node and recommend to use node version manager nvm to switch
between different local Node versions:
# install Node
$ cd webapp
$ nvm install v20.12.1
$ nvm use v20.12.1
Install node dependencies with yarn:
# install all dependencies
$ cd webapp
$ yarn install
# or just
$ yarn
# or just later on to use version of ".nvmrc" file
$ nvm use && yarn
Copy:
# in webapp
cp .env.template .env
Configure the files according to your needs and your local setup.
Build for Development
# serve with hot reload at localhost:3000
$ yarn dev
Build for Production
# build for production and launch server
$ yarn build
$ yarn start
Run tests
We ensure the quality of our frontend code by using
- ESLint for checking our JavaScript code
- Jest and Vue Test Utils to unit test our components
- Storybook to document and manually test our components in an isolated playground
For more information see our frontend testing guide. Use these commands to run the tests:
::: tabs @tab:active With Docker
After starting the application following the above guidelines, open new terminal windows for each of these commands:
# run eslint
$ docker-compose exec webapp yarn lint
# run unit tests
$ docker-compose exec webapp yarn test
# start storybook
$ docker-compose exec webapp yarn storybook
You can then visit the Storybook playground on http://localhost:3002
@tab title Without Docker
After starting the application following the above guidelines, open new terminal windows and navigate to the /webapp directory for each of these commands:
# run eslint in /webapp (use option --fix to normalize the files)
$ yarn lint
# run unit tests in /webapp
$ yarn test
# run locales in /webapp (use option --fix to sort the locales)
$ yarn locales
# start storybook in /webapp
$ yarn storybook
You can then visit the Storybook playground on http://localhost:3002
:::
Maintenance Mode
For installing and running the maintenance mode see Maintenance Mode.
Styleguide Migration
We are currently in the process of migrating our styleguide components and design tokens from the Nitro Styleguide into the main ocelot.social repository and refactoring our components in the process. During this migration, our new components will live in a _new/ folder to separate them from the old, yet untouched components.
Folder Structure
The folder structure we are following is prescribed by Nuxt.js:
- assets contains icons, images and logos in
svgformat and all shared SCSS files such astokens - components separated into two sub-folders:
- generic are the generic building blocks of the app – small, reusable and usually not coupled to state
- features are composed of components but tied to a particular function of the app (e.g.
commentorpost)
- layouts can use components to create layout templates for pages
- pages are the entry points for all
routesin the app and are composed of layouts, features and components
