Rebuild UI on the Noo design system
Replaces the Material 3 screens with the Noo design system: warm neutrals, one violet accent, pill controls, Schibsted Grotesk/ Instrument Sans, Lucide icons, no gradients/shadows. - New lib/widgets/noo/ component kit (core, lists, files, media, nav, overlays) plus lib/theme/design_tokens.dart for the color/type/space/ radius/motion tokens. - Rebuilt the app shell (top/bottom bars, drawer, desktop sidebar and toolbar), every tab (Files/Offline, Photos, Favorites, Recent, Activity, Trash, Shares), Settings, the lock and login screens, the media viewer, search, the details/share sheets, and the share-upload and move/copy destination pickers. - Added a design canvas (linked from DESIGN_SYSTEM.md) covering the screens the spec didn't already describe, with matching Android and iOS chrome; wrote up the approved recipes into DESIGN_SYSTEM.md §4. - Removed now-dead legacy widgets (media_grid_tile, swipeable_item, sync_status_badge, selectable_thumbnail) and updated architecture.md/styling.md/standards.md to describe the new structure and component/testing conventions. - Added widget tests for the noo/ component kit. This is a UI-only rework: no provider/model/service behavior changed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Uploads an .aab to the Play Console's app bundle library, without
|
||||
touching any release track.
|
||||
|
||||
Play Console itself doesn't expose "just upload, don't release" as an
|
||||
action - every path through the UI attaches a bundle to a track. The Play
|
||||
Developer API does support it though: open an edit, upload the bundle,
|
||||
commit the edit, and stop there. The result shows up under Release > App
|
||||
bundle explorer and nowhere else - nothing goes out to testers or
|
||||
production until it's promoted to a track by hand, whenever that's wanted.
|
||||
|
||||
Needs:
|
||||
GOOGLE_PLAY_PACKAGE_NAME e.g. dev.ayushya.noo
|
||||
GOOGLE_PLAY_SERVICE_ACCOUNT_JSON_PATH path to a service account key file
|
||||
|
||||
The Play Developer API can't create an app's first release - Google
|
||||
requires at least one manual upload through the Play Console web UI (to
|
||||
any track) before it'll accept API calls for that app at all.
|
||||
|
||||
python3 tool/upload_play_bundle.py path/to/app-release.aab
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
|
||||
from google.oauth2 import service_account
|
||||
from googleapiclient.discovery import build
|
||||
|
||||
SCOPES = ["https://www.googleapis.com/auth/androidpublisher"]
|
||||
|
||||
|
||||
def main(bundle_path):
|
||||
package_name = os.environ["GOOGLE_PLAY_PACKAGE_NAME"]
|
||||
key_path = os.environ["GOOGLE_PLAY_SERVICE_ACCOUNT_JSON_PATH"]
|
||||
creds = service_account.Credentials.from_service_account_file(
|
||||
key_path, scopes=SCOPES
|
||||
)
|
||||
service = build("androidpublisher", "v3", credentials=creds)
|
||||
|
||||
edit_id = service.edits().insert(body={}, packageName=package_name).execute()["id"]
|
||||
|
||||
bundle = (
|
||||
service.edits()
|
||||
.bundles()
|
||||
.upload(editId=edit_id, packageName=package_name, media_body=bundle_path)
|
||||
.execute()
|
||||
)
|
||||
print("Uploaded versionCode %s" % bundle["versionCode"])
|
||||
|
||||
service.edits().commit(editId=edit_id, packageName=package_name).execute()
|
||||
print(
|
||||
"Committed - visible under Release > App bundle explorer in Play "
|
||||
"Console. Not attached to any track, so nothing goes out to "
|
||||
"testers or production until it's promoted by hand."
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main(sys.argv[1])
|
||||
Reference in New Issue
Block a user