diff --git a/.changes/1035-overflow-fixes.md b/.changes/1035-overflow-fixes.md new file mode 100644 index 000000000000..b51f8d743ee5 --- /dev/null +++ b/.changes/1035-overflow-fixes.md @@ -0,0 +1,3 @@ +- Sidesheets .i.e. Spaces,Events,Chats and Pins: fix overflow of sidesheet title over system bars for mobile versions. +- Space Overview: fix overflow of space shell actions over system bars for mobile versions. +- Click/Tap on spaces member list in spaces overview will navigate to space member page. diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 92c1c4c2e3ad..9b9b81f726fb 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,8 +15,8 @@ on: description: 'The tag to compare the changelog to' type: string - # schedule: - # - cron: 0 3 * * * + schedule: + - cron: 0 3 * * 4 jobs: run_checker: @@ -32,7 +32,7 @@ jobs: id: check-new-commits shell: bash run: | - if [ `git diff --name-only ${{ inputs.prev_tag || 'latest-release' }} -- app native .changes | wc -l` -ne 0 ]; then + if [ `git diff --name-only ${{ inputs.prev_tag || 'release-latest' }} -- app native .changes | wc -l` -ne 0 ]; then echo "has-new-commits=true" >> $GITHUB_OUTPUT ; else echo "has-new-commits=false" >> $GITHUB_OUTPUT ; @@ -44,7 +44,7 @@ jobs: outputs: tag: ${{ inputs.new_tag || steps.version.outputs.version }} build_num: ${{ steps.build_num.outputs.build_num }} - prev_tag: ${{ inputs.prev_tag || 'latest-release' }} + prev_tag: ${{ inputs.prev_tag || 'release-latest' }} steps: - id: version run: echo "version=`date +1.%y.%-m%d`" >> $GITHUB_OUTPUT @@ -138,6 +138,15 @@ jobs: with: toolchain: stable + - uses: jlumbroso/free-disk-space@main + name: Free Disk Space (Ubuntu) + if: matrix.os == 'ubuntu-latest' + with: + # this might remove tools that are actually needed, + # when set to "true" but frees about 6 GB + tool-cache: true + android: false + - name: Cache Cargo id: cache-cargo uses: actions/cache@v2 @@ -386,27 +395,38 @@ jobs: with: name: Changelog - # - name: "Generate docs" - # run: | - # echo "+++" > docs/content/releases/${{ needs.tags.outputs.tag }}.md - # echo "title = \" Nightly ${{ needs.tags.outputs.tag }}\"" >> docs/content/releases/${{ needs.tags.outputs.tag }}.md - # echo "template = \"nightlies/release.html\"" >> docs/content/releases/${{ needs.tags.outputs.tag }}.md - # echo "date = ${{ needs.tags.outputs.tag }}" >> docs/content/releases/${{ needs.tags.outputs.tag }}.md - # echo "+++" >>docs/content/releases/${{ needs.tags.outputs.tag }}.md - # echo "" >>docs/content/releases/${{ needs.tags.outputs.tag }}.md - # cat CHANGELOG.md >> docs/content/releases/${{ needs.tags.outputs.tag }}.md - - # - name: Tag for release - # run: | - # git config --global user.name 'Sari' - # git config --global user.email 'acter-sari@users.noreply.github.com' - # git add "docs/content/releases/${{ needs.tags.outputs.tag }}.md" - # echo "Add release ${{ needs.tags.outputs.tag }}" - # git commit -m - # git tag v${{ needs.tags.outputs.tag }} - # git tag -f release-latest - # git push -f origin main v${{ needs.tags.outputs.tag }} release-latest + - name: "Generate docs" + run: | + echo "+++" > docs/content/releases/${{ needs.tags.outputs.tag }}.md + echo "title = \" Nightly ${{ needs.tags.outputs.tag }}\"" >> docs/content/releases/${{ needs.tags.outputs.tag }}.md + echo "template = \"nightlies/release.html\"" >> docs/content/releases/${{ needs.tags.outputs.tag }}.md + echo "date = ${{ needs.tags.outputs.tag }}" >> docs/content/releases/${{ needs.tags.outputs.tag }}.md + echo "+++" >>docs/content/releases/${{ needs.tags.outputs.tag }}.md + echo "" >>docs/content/releases/${{ needs.tags.outputs.tag }}.md + cat CHANGELOG.md >> docs/content/releases/${{ needs.tags.outputs.tag }}.md + + - name: Tag for release + run: | + git config --global user.name 'Sari' + git config --global user.email 'acter-sari@users.noreply.github.com' + git add "docs/content/releases/${{ needs.tags.outputs.tag }}.md" + echo "Add release ${{ needs.tags.outputs.tag }}" + git commit -m "Releasing v${{ needs.tags.outputs.tag }}" + git tag v${{ needs.tags.outputs.tag }} + git tag -f release-latest + git push -f origin main v${{ needs.tags.outputs.tag }} release-latest + - name: Release + id: create_release + uses: softprops/action-gh-release@v1 + with: + # publish this nightly release now + draft: true + generate_release_notes: false + name: Acter ${{ needs.tags.outputs.tag }} + tag_name: v${{ needs.tags.outputs.tag }} + body_path: CHANGELOG.md + prerelease: true # publish this full release now - uses: eregon/publish-release@v1 env: diff --git a/Readme.md b/Readme.md index de57ec10f1f5..6fa878a3da6f 100644 --- a/Readme.md +++ b/Readme.md @@ -4,14 +4,21 @@ Your social organizing app build on [matrix](https://matrix.org): think WhatsApp, but with proper task lists, structured discussion, etc. +## Try now + +Get it on Google Play Download on the App Store + +Download Acter + + +## More info + [![Homepage ](https://img.shields.io/badge/HOMEPAGE-gray?style=for-the-badge)](https://acter.global) [![Docs ](https://img.shields.io/badge/DOCS-blue?style=for-the-badge)](https://docs.acter.global) [![Matrix ](https://img.shields.io/badge/News-yellow?style=for-the-badge)](https://matrix.to/#/#news:acter.global) - [![Nightly Build](https://img.shields.io/badge/Nightly_Build-available-gree?style=for-the-badge)](https://github.com/acterglobal/a3/tags) - ## Contact: [![Matrix: #News](https://img.shields.io/badge/News-deeppink?style=for-the-badge)](https://matrix.to/#/#news:acter.global) @@ -26,7 +33,6 @@ Your social organizing app build on [matrix](https://matrix.org): think WhatsApp ![App Build](https://img.shields.io/github/actions/workflow/status/acterglobal/a3/deploy.yml?branch=main&label=App&style=for-the-badge) ![Docs](https://img.shields.io/github/actions/workflow/status/acterglobal/a3/docs.yml?branch=main&label=Docs&style=for-the-badge) - ## License [![Acter Public Source License](https://img.shields.io/badge/License-Acter%20Public%20Source%20License-blue?style=for-the-badge)](./LICENSE.txt) diff --git a/app/lib/common/widgets/side_sheet.dart b/app/lib/common/widgets/side_sheet.dart index a6dc113c9f76..1211e2659e2a 100644 --- a/app/lib/common/widgets/side_sheet.dart +++ b/app/lib/common/widgets/side_sheet.dart @@ -53,9 +53,12 @@ class SideSheet extends StatelessWidget { minHeight: size.height, maxHeight: size.height, ), + // keep scrolling under effect if content overflows. margin: EdgeInsets.only( bottom: MediaQuery.of(context).viewInsets.bottom, ), + // keep space shell top bar to prevent us being covered by front-camera etc. + padding: const EdgeInsets.only(top: 12), child: CustomScrollView( shrinkWrap: true, slivers: [ diff --git a/app/lib/features/space/pages/shell_page.dart b/app/lib/features/space/pages/shell_page.dart index e9fd2904ed0e..eecd05459064 100644 --- a/app/lib/features/space/pages/shell_page.dart +++ b/app/lib/features/space/pages/shell_page.dart @@ -110,7 +110,7 @@ class _ShellToolbar extends ConsumerWidget { ); return Padding( - padding: const EdgeInsets.symmetric(horizontal: 12), + padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8), child: Row( children: [ InkWell( @@ -123,14 +123,17 @@ class _ShellToolbar extends ConsumerWidget { ), ), const Spacer(), - PopupMenuButton( - icon: Icon( - Icons.more_vert, - color: Theme.of(context).colorScheme.neutral5, + Padding( + padding: const EdgeInsets.only(top: 18), + child: PopupMenuButton( + icon: Icon( + Icons.more_vert, + color: Theme.of(context).colorScheme.neutral5, + ), + iconSize: 28, + color: Theme.of(context).colorScheme.surface, + itemBuilder: (BuildContext context) => submenu, ), - iconSize: 28, - color: Theme.of(context).colorScheme.surface, - itemBuilder: (BuildContext context) => submenu, ), ], ), @@ -246,22 +249,28 @@ class _ShellHeader extends ConsumerWidget { } return Padding( padding: const EdgeInsets.only(left: 10), - child: Wrap( - direction: Axis.horizontal, - spacing: -12, - children: [ - ...members.map( - (a) => MemberAvatar(member: a), - ), - if (membersCount > 5) - CircleAvatar( - child: Text( - '+${membersCount - 5}', - textAlign: TextAlign.center, - textScaleFactor: 0.8, - ), + child: GestureDetector( + onTap: () => context.goNamed( + Routes.spaceMembers.name, + pathParameters: {'spaceId': spaceId}, + ), + child: Wrap( + direction: Axis.horizontal, + spacing: -12, + children: [ + ...members.map( + (a) => MemberAvatar(member: a), ), - ], + if (membersCount > 5) + CircleAvatar( + child: Text( + '+${membersCount - 5}', + textAlign: TextAlign.center, + textScaleFactor: 0.8, + ), + ), + ], + ), ), ); }, diff --git a/docs/content/docs/dev/style-guide.md b/docs/content/docs/dev/style-guide.md index 5a11866d75b7..b24a4def6d3e 100644 --- a/docs/content/docs/dev/style-guide.md +++ b/docs/content/docs/dev/style-guide.md @@ -20,67 +20,28 @@ top = false #### Colors -- Primary Brand Color: #EC2758 -- Secondary Brand Color: #23AFC2 -- Tertiary Brand Color: #5C2A80 -- Background Color: #979797 -- Dark Shade: #333540 -- Secondary Dark Shade: #2F313E -- Divider: #4A4A4A -- Text Color: #FFFFFF -- Text Shade: #FEFEFE -- Text Shade 2: #F8F8F8 -- Text Shade 3: #C2C1C0 +Colors can be found in [`app/lib/common/themes/app_theme.dart`](https://github.com/acterglobal/a3/blob/main/app/lib/common/themes/app_theme.dart). Whenever possible the `AppTheme.brandColorScheme` should be used in the code base rather than any specific color. New color sets like gradients or changes to existing colors shall be added to that class (for easier customization later). + +- Primary Brand Color: #9CCAFF +- Secondary Brand Color: #9ACBFF +- Tertiary Brand Color: #FFB77B +- Background Color: #001B3D +- Neutral: #121212 +- Success: #67A24A #### Typeface -- App-Wide Font: Roboto -- Headlines: Roboto Semi-Bold -- Regular Text: Robot Light -- Font-Sizes: - - H1: 18/20 - - H2: 16/Auto - - H3 subject: 15/20 - - Body Text: 10/15 - - H4 substitles: 10/15 - - H5 Big Word: 20/25 - - H6 legal: 10/auto +- App-Wide Font: Inter +- Emoji: System provided fond; on Linux: notoEmoji #### Icons -We use clean, clear but slightly playful even childish Icons, to get away from a too steril style and keep things fun and social. Whenever possible we pick of [the vast library of existing icons](https://oblador.github.io/react-native-vector-icons/) that's already embedded in the app (via `flutter_icons_null_safety`, usage as in [flutter icons](https://pub.dev/packages/flutter_icons)). +We use clean, clear but slightly playful even childish Icons, to get away from a too steril style and keep things fun and social. Whenever possible we use the closest matching [Atlas Icon](https://atlasicons.vectopus.com/) that's already embedded in the app (via `package:atlas_icons/atlas_icons.dart`). ```dart // Import package -import 'package:flutter_icons_null_safety/flutter_icons_null_safety.dart'; +import 'package:atlas_icons/atlas_icons.dart'; import 'package:flutter/material.dart'; -// After 1.1.0, the FlutterIcons class is provided to access all Icons -// Icon name in the original basis added icon set abbreviation name as suffix -// Hereinafter referred to as the following -//Ant Design Icons -> ant, -//Entypo Icons -> ent, -//Evil Icons -> evi, -//Feather Icons -> fea, -//Font Awesome Icons -> faw, -//Foundation Icons -> fou, -//Ionicons Icons -> ion, -//Material Community Icons -> mco, -//Material Icons -> mdi, -//Octicons Icons -> oct, -//Simple Line Icons -> sli, -//Zocial Icons -> zoc, -//Weather Icons -> wea -Icon(FlutterIcons.stepforward_ant) -Icon(FlutterIcons.html5_faw) +Icon(Atlas.audio_album, size: 24.0, ) ``` - -### [Brandguide as PDF](/styles/Acter-MVP-Design-Style.pdf) - -## Implementation Guide - -TBD - -## Themeing / Customisastion - -TBD diff --git a/docs/content/nightly/2023-10-04.md b/docs/content/nightly/2023-10-04.md new file mode 100644 index 000000000000..577501aea0bb --- /dev/null +++ b/docs/content/nightly/2023-10-04.md @@ -0,0 +1,15 @@ ++++ +title = " Nightly 2023-10-04" +template = "nightlies/release.html" +date = 2023-10-04 ++++ + +- [fix] Remove double naming on crud side sheets (Spaces, Events, Pins). +- [fix] Text overflow fixes on pins card. +- [fix] Text overflow fixes on event card. +- [fix] Text overflow fixes on found spaces card when searched (Join space section). +- [fix] Replace `Redact` term with more known wording .i.e. `Delete/Remove`. +- Login/Registration UI and theme updates. + +- Fix: do not render space-chat under space but switch to chat-section + diff --git a/docs/content/nightly/2023-10-06.md b/docs/content/nightly/2023-10-06.md new file mode 100644 index 000000000000..60276ef80c35 --- /dev/null +++ b/docs/content/nightly/2023-10-06.md @@ -0,0 +1,52 @@ ++++ +title = " Nightly 2023-10-06" +template = "nightlies/release.html" +date = 2023-10-06 ++++ + +- [fix] Remove double naming on crud side sheets (Spaces, Events, Pins). +- [fix] Text overflow fixes on pins card. +- [fix] Text overflow fixes on event card. +- [fix] Text overflow fixes on found spaces card when searched (Join space section). +- [fix] Replace `Redact` term with more known wording .i.e. `Delete/Remove`. +- Login/Registration UI and theme updates. + +- move spaces invite functionality to `About` section of overview as a button. The current limit of invitations is 100 people and button will not be visible exceeding that. + +- Fix: Parent space in Chat is shown. +- Fix: Invite flow for chat reactivated +- Fix: Joining related chats from a space +- Fix: Setting the power level of members in a space +- UX: Show content of Registration Token +- Removed: Acter welcome screen when the user has no spaces +- Fix: When redacting content, move back to the type index for that space + +- Updated look on room profile section. On desktop and larger screens, supports split view opening. +- corrected acter background gradient pattern. +- updated theme on component cards and overall system design to be intuitive. +- fix for avatars not getting fallback properly. +- fix overflow of content in pins, events and spaces cards. + +- fix: chat input sends message as a part of reply even if its not meant to be reply (after closing reply UI). This is fixed now. + +- CRUD Sidesheets (Spaces, Pins, Events, Chat) + - [fix] Sidesheets will now properly scroll on smaller screens, enabling to view submit buttons. The buttons will remain stick to bottom. + - Sidesheet input validation fixes. + +- Fix: do not render space-chat under space but switch to chat-section + +- Dashboard/Overview: + - Spaces listing is now prioritized to be shown on top. + - Fewer joined spaces will now show 'create space' and 'join space' buttons below for easier accessibility. If more than 5 joined spaces, this'll be replaced with 'show all spaces' button. + - Calendar widget is now removed and will be added when its properly functional. + - Update theme of UI cards. +- Pins: + - Remove non functional button (pins filtering). + - Update theme of section. +- Calendar Events: + - Calendar events can now be accessed from quick jump actions, showing all events, user is part of. + - Update theme of section. +- Some layout improvements in card component views. + +- You can now directly invite anyone in the invite screen all you need is type their full user-id + diff --git a/docs/content/user/getting-started/setting-up.md b/docs/content/user/getting-started/setting-up.md index 66d0859066c3..29b827dffa04 100644 --- a/docs/content/user/getting-started/setting-up.md +++ b/docs/content/user/getting-started/setting-up.md @@ -6,9 +6,41 @@ weight = 1 template = "docs/page.html" +++ -## Installing latest +## Installing Acter -To install the latest built, head over to [the nightly build section](/nightly/) and download the corresponding package for your platform. Once the download finished unpack it and run the `Acter` executable. Be sure to note the following for your platform: +Acter is published on the various app stores on a weekly basis. Just head on over to the app store of your platform and install acter: + +### Apple iOS AppStore + + + Download on the App Store + + +### Android Google Play Store + + + Get it on Google Play + + +_FDroid is not yet supported_ [tracking issue here](https://github.com/acterglobal/a3/issues/1016) . But you can just the latest [nightly build](/nightly). + +### Windows Microsoft Store + + + Download Acter + + +### Apple Desktop App AppStore + +_not yet supported_ [tracking issue here](https://github.com/acterglobal/a3/issues/1016) . But you can just the latest [nightly build](/nightly) + +### Snapcraft Linux Store + +_not yet supported_ [tracking issue here](https://github.com/acterglobal/a3/issues/1016) . But you can just the latest [nightly build](/nightly). + +## Installing latest nightly + +To install the nightly latest built, head over to [the nightly build section](/nightly/) and download the corresponding package for your platform. Once the download finished unpack it and run the `Acter` executable. Be sure to note the following for your platform:
Running on MacOS @@ -23,7 +55,7 @@ We are running this in a limited so called Ad-Hoc built at the moment, which req
-## Nightly Platform support +## Platform support ### Mobile diff --git a/docs/static/styles/Effektio-MVP-Design-Style.pdf b/docs/static/styles/Effektio-MVP-Design-Style.pdf deleted file mode 100644 index bd1c5cbda77f..000000000000 Binary files a/docs/static/styles/Effektio-MVP-Design-Style.pdf and /dev/null differ diff --git a/docs/templates/acter_index.html b/docs/templates/acter_index.html index 0a1abb7dccf1..a5bcdb331eb8 100644 --- a/docs/templates/acter_index.html +++ b/docs/templates/acter_index.html @@ -35,7 +35,25 @@

{{ section.title | default(value="Modern Documentation Theme") Acter the mobile-first community communication and casual organizing platform. The palm-pilot for your social groups.'

+ +
+ +

+ + Get it on Google Play + + + Download on the App Store + + + Download Acter + +

+ +

+ Nightly builds Getting started +

{{ section.extra.repo_license | default(value="MIT")}} Github Sources