Skip to content

Commit 1aeac53

Browse files
committed
Comprehensive Extension Architecture Update
- Update ARCHITECTURE.md with detailed feature descriptions - Add theme system, popup interface, and configuration details - Enhance documentation for storage, performance, and user experience - Include sections on development, testing, and maintenance - Remove Materialize CSS and jQuery dependencies - Streamline project structure and resources
1 parent 57a91d3 commit 1aeac53

File tree

10 files changed

+126
-54
lines changed

10 files changed

+126
-54
lines changed

ARCHITECTURE.md

Lines changed: 71 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,53 +16,116 @@ AWS Colorful Navbar is a browser extension that enhances the AWS Console navigat
1616
- Region flag display next to region selector
1717
- Account information display
1818
- Service-specific favicon updates
19+
- Implements retry mechanism for region selector
20+
- Supports dark/light theme adaptation
1921

20-
### 3. Configuration
22+
### 3. Popup Interface (popup.html, popup.js, popup.css)
23+
- Settings management interface
24+
- Features:
25+
- Toggle switches with auto-save functionality
26+
- Account information JSON editor
27+
- Dark/Light theme switcher
28+
- Real-time theme preview
29+
- Uses Font Awesome icons
30+
- Responsive and accessible design
31+
32+
### 4. Configuration
2133
- Stored in chrome.storage.local
34+
- Theme preference in localStorage
2235
- Configurable features:
2336
- Background color gradients
2437
- Region flags
2538
- Account information
2639
- Favicon customization
40+
- Theme preference
2741

28-
### 4. Resources
42+
### 5. Resources
2943
- Flags: Country/region specific flag images
3044
- Service Icons: AWS service specific SVG icons
31-
- Styles: Materialize CSS for popup styling
45+
- Styles: Custom CSS with theme support
3246

3347
## Features
3448

3549
### Region Visualization
3650
- Each AWS region has a unique color gradient
3751
- Region flags are displayed next to the region selector
3852
- Supports all AWS regions with specific color schemes
53+
- Automatic region detection and display
3954

4055
### Account Management
4156
- Displays custom account information
4257
- Account ID detection and mapping
58+
- JSON-based configuration
59+
- Real-time validation
4360

4461
### Service Integration
4562
- Dynamic favicon updates based on current AWS service
4663
- Support for all major AWS services
4764
- Special handling for composite services (e.g., CodeSuite)
65+
- Automatic service detection
66+
67+
### Theme System
68+
- Dark/Light mode support
69+
- Theme persistence across sessions
70+
- Smooth transition animations
71+
- AWS-inspired color palette
72+
- Accessible color contrasts
4873

4974
### Internationalization
5075
- Support for multiple languages (ko, jp)
5176
- Region name translations
77+
- Global region handling
5278

5379
## Technical Details
5480

5581
### Storage
56-
- Uses chrome.storage.local for configuration persistence
82+
- Uses chrome.storage.local for extension settings
83+
- Uses localStorage for theme preference
5784
- Minimal storage footprint
85+
- Automatic data validation
86+
87+
### Performance
88+
- Asynchronous storage operations
89+
- Efficient resource loading
90+
- Retry mechanism for region detection
91+
- Optimized DOM operations
5892

5993
### Security
6094
- Minimal permissions required:
6195
- activeTab: For current tab manipulation
6296
- storage: For configuration storage
6397
- Host permissions limited to AWS Console domains
98+
- Input validation for JSON data
6499

65-
### Performance
66-
- Lightweight implementation
67-
- Asynchronous storage operations
68-
- Efficient resource loading
100+
### User Experience
101+
- Instant settings application
102+
- Auto-save functionality
103+
- Visual feedback for actions
104+
- Smooth transitions
105+
- Responsive interface
106+
107+
### Error Handling
108+
- JSON validation for account info
109+
- Region selector retry mechanism
110+
- Graceful fallbacks
111+
- Clear error messages
112+
113+
## Development
114+
115+
### Build Process
116+
- Source code organization
117+
- Resource management
118+
- Version control
119+
- Release packaging
120+
121+
### Testing
122+
- Manual testing procedures
123+
- Cross-browser compatibility
124+
- Theme testing
125+
- Region detection verification
126+
127+
### Maintenance
128+
- Code documentation
129+
- Version history
130+
- Issue tracking
131+
- Update procedures

CHANGELOG.md

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,57 @@
22

33
All notable changes to this project will be documented in this file.
44

5-
## [1.7.3] - 2025-03-07
5+
## [1.7.3] - 2025-03-08
66

77
### Added
8-
- Support for new AWS regions and services
9-
- Service-specific favicon updates
10-
- Account information display feature
8+
- Dark/Light theme support with persistent settings
9+
- Auto-save functionality for toggle switches
10+
- Retry mechanism for region selector (3 attempts)
11+
- Support for new AWS regions:
12+
- ap-south-2 (Hyderabad)
13+
- ap-southeast-4 (Melbourne)
14+
- eu-south-3 (Milan)
15+
- eu-central-3 (Zurich)
16+
- me-west-1 (UAE West)
17+
- il-central-1 (Israel)
1118

1219
### Changed
13-
- Updated to Manifest V3 specification
14-
- Improved region detection and visualization
15-
- Enhanced internationalization support
20+
- Updated popup interface with modern design
21+
- Improved settings management
22+
- Enhanced accessibility features
23+
- Optimized performance with async operations
1624

1725
### Fixed
18-
- Region name translation issues
26+
- Region selector detection reliability
1927
- Account ID detection improvements
2028
- Resource loading optimizations
29+
- JSON validation handling
2130

2231
## Features Evolution
2332

2433
### Region Visualization
2534
- Custom color gradients for each AWS region
2635
- Region flags display
2736
- Support for all AWS global regions
37+
- Automatic region detection
2838

2939
### Account Management
3040
- Account information display
3141
- Account ID detection and mapping
3242
- Custom account labels
43+
- JSON configuration
3344

3445
### Service Integration
3546
- Dynamic favicon updates
3647
- Support for AWS service icons
3748
- Special handling for composite services
49+
- Automatic service detection
50+
51+
### Theme System
52+
- Dark/Light mode toggle
53+
- Theme persistence
54+
- Smooth transitions
55+
- AWS-inspired colors
3856

3957
### Internationalization
4058
- Multi-language support (ko, jp)

README.md

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
* Region flag display next to region selector
1212
* Service-specific favicon updates
1313
* Account information display
14+
* Dark/Light theme support
15+
* Auto-save settings
1416
* Support for all AWS global regions
1517
* Multi-language support (ko, jp)
1618

@@ -20,20 +22,15 @@
2022
* [Microsoft Edge](https://chrome.google.com/webstore/detail/aws-colorful-navbar/kgifmgnlchjjippdpkblbdlfidcpceme)
2123
* [Mozilla Firefox](https://addons.mozilla.org/firefox/addon/aws-colorful-navbar/)
2224

23-
## For Developers
24-
25-
* Open the Extension Management page by navigating to `chrome://extensions`
26-
* Enable `Developer Mode` by clicking the toggle switch
27-
* Click the `LOAD UNPACKED` button and select the extension directory
28-
2925
## Configuration
3026

3127
The extension supports the following configuration options:
3228

3329
* `background`: Enable/disable navbar color customization
3430
* `flag`: Enable/disable region flag display
3531
* `favicon`: Enable/disable service-specific favicon
36-
* `info`: Custom account information display
32+
* `info`: Custom account information display (JSON format)
33+
* `theme`: Dark/Light mode preference
3734

3835
## Supported Regions
3936

@@ -47,6 +44,21 @@ See [flags/README.md](flags/README.md) for a complete list of supported regions
4744

4845
![after](images/aws-navbar-extension-01.png)
4946

47+
## For Developers
48+
49+
### Installation
50+
51+
* Open the Extension Management page by navigating to `chrome://extensions`
52+
* Enable `Developer Mode` by clicking the toggle switch
53+
* Click the `LOAD UNPACKED` button and select the extension directory
54+
55+
### Development
56+
57+
* Clone the repository
58+
* Make changes to the source code
59+
* Test locally using the unpacked extension
60+
* Submit pull requests for improvements
61+
5062
## Contributing
5163

5264
Contributions are welcome! Please feel free to submit a Pull Request.

VERSION

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1.8.5

css/materialize.min.css

Lines changed: 0 additions & 16 deletions
This file was deleted.

js/jquery.min.js

Lines changed: 0 additions & 4 deletions
This file was deleted.

js/materialize.min.js

Lines changed: 0 additions & 6 deletions
This file was deleted.

manifest-v2.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "AWS Colorful Navbar",
33
"description": "Change navbar color and flag according to AWS region",
4-
"version": "1.8.0",
4+
"version": "1.0.0",
55
"manifest_version": 2,
66
"icons": {
77
"128": "icon.png"

manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "AWS Colorful Navbar",
33
"description": "Change navbar color and flag according to AWS region",
4-
"version": "1.8.4",
4+
"version": "1.0.0",
55
"manifest_version": 3,
66
"icons": {
77
"128": "icon.png"

package.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,17 +66,21 @@ _prepare() {
6666
################################################################################
6767

6868
_package() {
69-
VERSION=$(cat ./manifest.json | jq '.version' -r)
69+
VERSION=$(cat ./VERSION)
7070

71-
echo $VERSION >./target/VERSION
71+
echo $VERSION > ./target/VERSION
72+
73+
# Update version in manifest.json
74+
cat ./manifest.json | jq '.version = $VERSION' --arg VERSION $VERSION > ./manifest.json.tmp
75+
mv ./manifest.json.tmp ./manifest.json
7276

7377
ITEMS="manifest.json icon.png main.js background.js popup.html popup.js css flags images js svcs"
7478

7579
# mv3
7680
zip -r ${RUN_PATH}/release/$REPONAME-$VERSION.zip $ITEMS
7781

7882
# mv2
79-
cat ./manifest-v2.json | jq '.version = $VERSION' --arg VERSION $VERSION >./manifest.json
83+
cat ./manifest-v2.json | jq '.version = $VERSION' --arg VERSION $VERSION > ./manifest.json
8084
zip -r ${RUN_PATH}/release/$REPONAME-$VERSION-mv2.zip $ITEMS
8185
}
8286

0 commit comments

Comments
 (0)