# @openstapps/app

## 3.2.0

### Patch Changes

- 689ac68b: pin alpine version to 3.18 and add healthchecks
- Updated dependencies [912ae422]
  - @openstapps/core@4.0.0
  - @openstapps/api@4.0.0
  - @openstapps/collection-utils@3.0.0

## 3.1.2

### Patch Changes

- Fix for Android users not being able to log in

## 3.1.1

### Patch Changes

- Fix version history offered by backend
- Updated dependencies
  - @openstapps/api@3.1.1
  - @openstapps/core@3.1.1

## 3.1.1

### Patch Changes

- last minute deployment changes

## 3.1.0

### Minor Changes

- 06b8ca10: Add job portal feature
- 066e3744: Update to Capacitor 5.x

### Patch Changes

- 066e3744: Update logo flow to use capacitor-assets (single asset)
- 066e3744: Replace NavigationBar/StatusBar plugins with native color setting
- 066e3744: Hide splash screen only when app is ready
- Updated dependencies [06b8ca10]
  - @openstapps/core@3.1.0
  - @openstapps/api@3.1.0

## 3.0.0

### Major Changes

- 23481d0d: Update to Angular 16.1
- 64caebaf: Move project to a turbo monorepo & pnpm

  Internal dependencies are now defined using `"@openstapps/package": "workspace:*"`

  - Removed extraneous files from packages
    - `.npmrc`
    - `.npmignore`
    - `.mailmap`
    - `.gitignore`
    - `CONTRIBUTING.md`
    - `LICENSE` (Project license file is added upon publishing, see [pnpm.io](https://pnpm.io/cli/publish))
    - `package-lock.json`
    - `.editorconfig`
    - `.eslintrc.json` (moved eslint config to `package.json`)
    - `.eslintignore`
    - `.gitlab-ci.yml` (Most workflows are workspace-level)
    - `.gitlab/**` (issue templates etc. are now workspace-level)
    - `.dockerignore` (Docker files are determined by which files are deployed with `pnpm deploy`, as per `package.json/files`)
  - TSConfig has been moved to its own package (You can now use `"extends": "@openstapps/tsconfig"`)
  - Removed ESLint and Prettier peer dependency hell by injecting them through the `.pnpmfile.cjs`
  - Added syncpack for keeping dependency versions in sync (and consistent key ordering in `package.json`)
  - Replaced conventional changelog with changesets
  - Apps with binaries now use a top level `app.js`

  ```js
  #!/usr/bin/env node
  import './lib/app.js';
  ```

- 64caebaf: Migrate to ESM

  CommonJS is no longer supported in any capacity. To use the new
  version, you will need to migrate your package to ESM.
  We recommend using `tsup` and `Node 18`.

  ```json
  {
    "type": "module"
  }
  ```

- 64caebaf: Migrate package to Node 18

  - Consumers of this package will need to migrate to Node 18 or
    higher.
  - Packages have been migrated from promisified `readFile` or
    `readFileSync` towards `fs/promises`
  - Packages use native `flatMap` now

### Minor Changes

- f2c4ee30: Detail views now won't load data again if it is being navigated to from a list item
- e1cc33bb: Added the ability to remove and add date series from their detail page
- 64caebaf: Migrate tests to C8/Chai/Mocha

  - `@testdeck` OOP testing has been removed.
  - Tests have been unified
  - CommonJS module mocking has been replaced through
    refactoring of tests, as ES Modules cannot be mocked
    (do yourself a favor and don't try to mock them)
  - C8 now replaces NYC as a native coverage tool

- 1f62b5c5: Add support for web-service-provided id cards on the profile page
- a5c9d220: Add directions to inPlace and place list items
- e1cc33bb: Improved calendar descriptions

  - The dashboard quick link now has a more intuitive icon
  - "Recurring" has been renamed to "Week Overview"
  - Long words in calendar tabs will now break instead of overflowing

- 001f978b: Revamp "My Courses" section on profile page

  The "My Courses" section on the profile page has been improved

  - It will now show the upcoming courses for the next five days
  - The section header is now consistent with the other sections
  - The section now uses standard list items instead of the custom solution

  Additionally, the profile page component has been cleaned up.

- a5c9d220: Adjust map button and item behavior on different screen sizes

  - Small screens will show the item without margins below the map actions
  - Large screens will show the list item on the left side

- 23481d0d: Migrate to Ionic 7

  - Migrate uses of `<ion-label>` with inputs to new syntax
  - Fix infinite loop in schedule date picker (`datetime.confirm()` to `datetime.cancel()`)

- 64caebaf: Migrate away from JIT compilation
- a5c9d220: Map items are now native list items
- e1cc33bb: Replaced simple links with list items in date-series detail
- 001f978b: Use event title for date series instead of the generic date series title

### Patch Changes

- a99e08cd: Refactored Opening Hours

  - Migrated Opening Hours to use OnPush change detection
  - Fixed a bug where opening hours would not update correctly
  - Lazy-load opening hours module to keep it out of the main bundle
  - Added e2e tests to verify functionality
  - Changed live update status to show exact minutes starting one hour before the next change

- bd09b366: Use observable chains instead of change detection in the rating component
- 001f978b: Add a way to hide action chips on list items
- e0b7e616: Fixed distance not updating in list items
- b210e0d9: Change leaflet tiles to be inverted as a whole
- 98546a97: Migrate away from @openstapps/configuration
- 23481d0d: Update to TypeScript 5.1.6
- bebee6b4: Migrate collection helpers to use @openstapps/collection-utils
- 3c49c4cf: Fixed an issue that caused double and triple loading of data detail items through the route stack service
- 107a7c5e: Migrate unit tests to karma-coverage and junit reports.
  Fixes an issue where coverage reports would not be generated.
- 1f62b5c5: Make section swiper buttons reactive
- Updated dependencies [64caebaf]
- Updated dependencies [64caebaf]
- Updated dependencies [98546a97]
- Updated dependencies [64caebaf]
- Updated dependencies [64caebaf]
- Updated dependencies [64caebaf]
- Updated dependencies [64caebaf]
- Updated dependencies [1f62b5c5]
- Updated dependencies [98546a97]
- Updated dependencies [23481d0d]
- Updated dependencies [64caebaf]
- Updated dependencies [0a7e6af1]
- Updated dependencies [64caebaf]
- Updated dependencies [64caebaf]
- Updated dependencies [64caebaf]
  - @openstapps/api@3.0.0
  - @openstapps/collection-utils@3.0.0
  - @openstapps/core@3.0.0

## 3.0.0-next.4

### Major Changes

- 23481d0d: Update to Angular 16.1

### Minor Changes

- 23481d0d: Migrate to Ionic 7

  - Migrate uses of `<ion-label>` with inputs to new syntax
  - Fix infinite loop in schedule date picker (`datetime.confirm()` to `datetime.cancel()`)

### Patch Changes

- 23481d0d: Update to TypeScript 5.1.6
- bebee6b4: Migrate collection helpers to use @openstapps/collection-utils
- 107a7c5e: Migrate unit tests to karma-coverage and junit reports.
  Fixes an issue where coverage reports would not be generated.
- Updated dependencies [23481d0d]
  - @openstapps/collection-utils@3.0.0-next.4
  - @openstapps/core@3.0.0-next.4
  - @openstapps/api@3.0.0-next.4

## 3.0.0-next.0

### Major Changes

- 64caebaf: Move project to a turbo monorepo & pnpm

  Internal dependencies are now defined using `"@openstapps/package": "workspace:*"`

  - Removed extraneous files from packages
    - `.npmrc`
    - `.npmignore`
    - `.mailmap`
    - `.gitignore`
    - `CONTRIBUTING.md`
    - `LICENSE` (Project license file is added upon publishing, see [pnpm.io](https://pnpm.io/cli/publish))
    - `package-lock.json`
    - `.editorconfig`
    - `.eslintrc.json` (moved eslint config to `package.json`)
    - `.eslintignore`
    - `.gitlab-ci.yml` (Most workflows are workspace-level)
    - `.gitlab/**` (issue templates etc. are now workspace-level)
    - `.dockerignore` (Docker files are determined by which files are deployed with `pnpm deploy`, as per `package.json/files`)
  - TSConfig has been moved to its own package (You can now use `"extends": "@openstapps/tsconfig"`)
  - Removed ESLint and Prettier peer dependency hell by injecting them through the `.pnpmfile.cjs`
  - Added syncpack for keeping dependency versions in sync (and consistent key ordering in `package.json`)
  - Replaced conventional changelog with changesets
  - Apps with binaries now use a top level `app.js`

  ```js
  #!/usr/bin/env node
  import './lib/app.js';
  ```

- 64caebaf: Migrate to ESM

  CommonJS is no longer supported in any capacity. To use the new
  version, you will need to migrate your package to ESM.
  We recommend using `tsup` and `Node 18`.

  ```json
  {
    "type": "module"
  }
  ```

- 64caebaf: Migrate package to Node 18

  - Consumers of this package will need to migrate to Node 18 or
    higher.
  - Packages have been migrated from promisified `readFile` or
    `readFileSync` towards `fs/promises`
  - Packages use native `flatMap` now

### Minor Changes

- 64caebaf: Migrate tests to C8/Chai/Mocha

  - `@testdeck` OOP testing has been removed.
  - Tests have been unified
  - CommonJS module mocking has been replaced through
    refactoring of tests, as ES Modules cannot be mocked
    (do yourself a favor and don't try to mock them)
  - C8 now replaces NYC as a native coverage tool

- 64caebaf: Migrate away from JIT compilation

### Patch Changes

- 98546a97: Migrate away from @openstapps/configuration
- Updated dependencies [64caebaf]
- Updated dependencies [64caebaf]
- Updated dependencies [98546a97]
- Updated dependencies [64caebaf]
- Updated dependencies [64caebaf]
- Updated dependencies [64caebaf]
- Updated dependencies [64caebaf]
- Updated dependencies [98546a97]
- Updated dependencies [64caebaf]
- Updated dependencies [0a7e6af1]
- Updated dependencies [64caebaf]
- Updated dependencies [64caebaf]
- Updated dependencies [64caebaf]
  - @openstapps/api@3.0.0-next.0
  - @openstapps/core@3.0.0-next.0
