@@ -2,16 +2,42 @@ const constValues = {
22 tooSmallScreenMinWidth : 600 ,
33 defaultNotifyIconColor : '#555555' ,
44 telegramContactLink : 'https://t.me/XiaofangInternet' ,
5- repoSourceUrl : 'https://raw.githubusercontent.com/fankes/AndroidNotifyIconAdapt/main/' ,
6- feedbackNewNotifyRulesUrl : 'https://github.com/fankes/AndroidNotifyIconAdapt/issues/new?assignees=&labels=To+be+adapted&template=request_notify_icon_adaption.yml'
5+ repoSourceUrl : 'https://raw.githubusercontent.com/fankes/AndroidNotifyIconAdapt/main/'
76} ;
87
98function onPageLoad ( ) {
10- pageFunctions . entryArea0 . showMainPage ( ) ;
9+ switch ( renderController . getUrlParams ( ) ) {
10+ case '' :
11+ case 'main' :
12+ pageFunctions . entryArea0 . switchToMainPage ( ) ;
13+ break ;
14+ case 'notify-rules-app' :
15+ pageFunctions . entryArea1 . requestDataForApp ( ) ;
16+ break ;
17+ case 'notify-rules-system' :
18+ pageFunctions . entryArea1 . requestDataForSystem ( ) ;
19+ break ;
20+ case 'notify-rules-miui' :
21+ pageFunctions . entryArea1 . requestDataForMiui ( ) ;
22+ break ;
23+ case 'notify-rules-coloros' :
24+ pageFunctions . entryArea1 . requestDataForColorOs ( ) ;
25+ break ;
26+ case 'feedback' :
27+ pageFunctions . entryArea2 . feedbackNewNotifyRules ( ) ;
28+ break ;
29+ case 'contribute' :
30+ pageFunctions . entryArea2 . contributeNotifyRules ( ) ;
31+ break ;
32+ default :
33+ pageFunctions . specialCase . switchToNotFoundPage ( ) ;
34+ break ;
35+ }
1136 pageFunctions . entryArea3 . showAuthorize ( true ) ;
1237}
1338
1439const renderController = {
40+ getUrlParams : ( ) => window . location . search . replace ( '?' , '' ) ,
1541 generateMarkdownContent : ( content ) => marked . parse ( content ) ,
1642 setMarkdownContent : ( id , content ) => {
1743 $ ( '#' + id ) . html ( renderController . generateMarkdownContent ( content ) ) ;
@@ -49,20 +75,23 @@ const renderController = {
4975} ;
5076
5177const pageController = {
52- pageTitles : [ '首页' , '通知图标优化名单' , '贡献通知图标规则' ] ,
78+ pageTitles : [ '页面不存在' , ' 首页', '通知图标优化名单' , '请求适配新 APP ', '贡献通知图标规则' ] ,
5379 isPageBlocked : false ,
54- switchToPage : ( title , pageId , itemId ) => {
80+ switchToPage : ( title , pageId , itemId = undefined ) => {
5581 $ ( '#item-main-main' ) . removeClass ( 'mdui-list-item-active' ) ;
5682 $ ( '#item-nfrules-app' ) . removeClass ( 'mdui-list-item-active' ) ;
5783 $ ( '#item-nfrules-miui' ) . removeClass ( 'mdui-list-item-active' ) ;
5884 $ ( '#item-nfrules-coloros' ) . removeClass ( 'mdui-list-item-active' ) ;
5985 $ ( '#item-nfdebug-debug' ) . removeClass ( 'mdui-list-item-active' ) ;
86+ $ ( '#item-feedback-feedback' ) . removeClass ( 'mdui-list-item-active' ) ;
6087 $ ( '#item-contribute-contribute' ) . removeClass ( 'mdui-list-item-active' ) ;
88+ $ ( '#page-not-found' ) . hide ( ) ;
6189 $ ( '#page-main' ) . hide ( ) ;
6290 $ ( '#page-notify-rules' ) . hide ( ) ;
91+ $ ( '#page-feedback' ) . hide ( ) ;
6392 $ ( '#page-contribute' ) . hide ( ) ;
6493 $ ( '#' + pageId ) . show ( ) ;
65- $ ( '#' + itemId ) . addClass ( 'mdui-list-item-active' ) ;
94+ if ( itemId !== undefined ) $ ( '#' + itemId ) . addClass ( 'mdui-list-item-active' ) ;
6695 pageController . changePageTitle ( title ) ;
6796 pageController . scrollToTop ( ) ;
6897 } ,
@@ -83,6 +112,14 @@ const pageController = {
83112} ;
84113
85114const pageFunctions = {
115+ specialCase : {
116+ switchToNotFoundPage : ( ) => {
117+ if ( pageController . isPageBlocked ) return ;
118+ pageController . switchToPage ( pageController . pageTitles [ 0 ] , 'page-not-found' ) ;
119+ pageController . showOrHideSyncNoticeIcon ( false ) ;
120+ pageController . showOrHideProjectAddressIcon ( true ) ;
121+ }
122+ } ,
86123 headerArea0 : {
87124 showSyncNotice : ( ) => {
88125 mdui . dialog ( {
@@ -94,9 +131,9 @@ const pageFunctions = {
94131 }
95132 } ,
96133 entryArea0 : {
97- showMainPage : ( ) => {
134+ switchToMainPage : ( ) => {
98135 if ( pageController . isPageBlocked ) return ;
99- pageController . switchToPage ( pageController . pageTitles [ 0 ] , 'page-main' , 'item-main-main' ) ;
136+ pageController . switchToPage ( pageController . pageTitles [ 1 ] , 'page-main' , 'item-main-main' ) ;
100137 pageController . showOrHideSyncNoticeIcon ( false ) ;
101138 pageController . showOrHideProjectAddressIcon ( true ) ;
102139 renderController . setMarkdownContent ( 'page-main-markdown-content' , markdownPageContents . home ) ;
@@ -105,7 +142,7 @@ const pageFunctions = {
105142 entryArea1 : {
106143 requestDataForApp : ( ) => {
107144 if ( pageController . isPageBlocked ) return ;
108- pageController . switchToPage ( pageController . pageTitles [ 1 ] , 'page-notify-rules' , 'item-nfrules-app' ) ;
145+ pageController . switchToPage ( pageController . pageTitles [ 2 ] , 'page-notify-rules' , 'item-nfrules-app' ) ;
109146 pageController . showOrHideSyncNoticeIcon ( true ) ;
110147 pageController . showOrHideProjectAddressIcon ( window . innerWidth > constValues . tooSmallScreenMinWidth ) ;
111148 nfDataRequestController . requestData ( 'APP' ) ;
@@ -116,26 +153,30 @@ const pageFunctions = {
116153 } ,
117154 requestDataForMiui : ( ) => {
118155 if ( pageController . isPageBlocked ) return ;
119- pageController . switchToPage ( pageController . pageTitles [ 1 ] , 'page-notify-rules' , 'item-nfrules-miui' ) ;
156+ pageController . switchToPage ( pageController . pageTitles [ 2 ] , 'page-notify-rules' , 'item-nfrules-miui' ) ;
120157 pageController . showOrHideSyncNoticeIcon ( true ) ;
121158 pageController . showOrHideProjectAddressIcon ( window . innerWidth > constValues . tooSmallScreenMinWidth ) ;
122159 nfDataRequestController . requestData ( 'OS/MIUI' ) ;
123160 } ,
124161 requestDataForColorOs : ( ) => {
125162 if ( pageController . isPageBlocked ) return ;
126- pageController . switchToPage ( pageController . pageTitles [ 1 ] , 'page-notify-rules' , 'item-nfrules-coloros' ) ;
163+ pageController . switchToPage ( pageController . pageTitles [ 2 ] , 'page-notify-rules' , 'item-nfrules-coloros' ) ;
127164 pageController . showOrHideSyncNoticeIcon ( true ) ;
128165 pageController . showOrHideProjectAddressIcon ( window . innerWidth > constValues . tooSmallScreenMinWidth ) ;
129166 nfDataRequestController . requestData ( 'OS/ColorOS' ) ;
130167 }
131168 } ,
132169 entryArea2 : {
133170 feedbackNewNotifyRules : ( ) => {
134- window . open ( constValues . feedbackNewNotifyRulesUrl , '_blank' ) ;
171+ if ( pageController . isPageBlocked ) return ;
172+ pageController . switchToPage ( pageController . pageTitles [ 3 ] , 'page-feedback' , 'item-feedback-feedback' ) ;
173+ pageController . showOrHideSyncNoticeIcon ( false ) ;
174+ pageController . showOrHideProjectAddressIcon ( true ) ;
175+ renderController . setMarkdownContent ( 'page-feedback-markdown-content' , markdownPageContents . feedback ) ;
135176 } ,
136177 contributeNotifyRules : ( ) => {
137178 if ( pageController . isPageBlocked ) return ;
138- pageController . switchToPage ( pageController . pageTitles [ 2 ] , 'page-contribute' , 'item-contribute-contribute' ) ;
179+ pageController . switchToPage ( pageController . pageTitles [ 4 ] , 'page-contribute' , 'item-contribute-contribute' ) ;
139180 pageController . showOrHideSyncNoticeIcon ( false ) ;
140181 pageController . showOrHideProjectAddressIcon ( true ) ;
141182 renderController . setMarkdownContent ( 'page-contribute-markdown-content' , markdownPageContents . contributing ) ;
@@ -185,7 +226,7 @@ const nfDataRequestController = {
185226 dataType : 'json' ,
186227 success : ( result ) => {
187228 $ ( '#loading-icon' ) . hide ( ) ;
188- pageController . changePageTitle ( pageController . pageTitles [ 1 ] + ' (' + result . length + ')' ) ;
229+ pageController . changePageTitle ( pageController . pageTitles [ 2 ] + ' (' + result . length + ')' ) ;
189230 result . forEach ( ( element , index ) => {
190231 let jsonString = encodeURI ( JSON . stringify ( element , null , 2 ) ) ;
191232 $ ( '#data-list' ) . append ( '<li class="mdui-list-item mdui-ripple" style="white-space: nowrap"' +
0 commit comments