File tree Expand file tree Collapse file tree 6 files changed +20
-2
lines changed Expand file tree Collapse file tree 6 files changed +20
-2
lines changed Original file line number Diff line number Diff line change @@ -124,7 +124,7 @@ <h1 id="main-title" class="display-3 mb-0">RSS агрегатор</h1>
124124 class ="form-label visually-hidden "> Выбор языка</ label >
125125 < select class ="form-select form-select-sm " id ="languageSelectFooter "
126126 aria-label ="Выбор языка ">
127- < option value ="ru " selected > Русский</ option >
127+ < option value ="ru "> Русский</ option >
128128 < option value ="en "> English</ option >
129129 </ select >
130130 </ div >
Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ export const initApp = () => {
99 const form = document . querySelector ( "#rss-form" ) ;
1010 const postsContainer = document . querySelector ( ".posts" ) ;
1111 const closeModalBtns = document . querySelectorAll ( '[data-bs-dismiss="modal"]' ) ;
12+ const langSwitcher = document . querySelector ( "#languageSelectFooter" ) ;
1213
1314 input . addEventListener ( "input" , ( e ) => {
1415 model . form . updateInputValue ( e . target . value ) ;
@@ -37,4 +38,8 @@ export const initApp = () => {
3738 model . post . setActive ( null ) ;
3839 } ) ;
3940 } ) ;
41+
42+ langSwitcher . addEventListener ( 'change' , ( e ) => {
43+ model . lng . handle ( e . target . value ) ;
44+ } )
4045} ;
Original file line number Diff line number Diff line change @@ -3,11 +3,13 @@ import * as form from "./form.js";
33import * as feed from "./feed.js" ;
44import * as post from "./post.js" ;
55import * as error from "./error.js" ;
6+ import * as lng from "./lng.js" ;
67
78export const model = {
89 form,
910 feed,
1011 post,
1112 update,
1213 error,
14+ lng
1315} ;
Original file line number Diff line number Diff line change 1+ import state from "../state.js" ;
2+
3+ export const handle = ( value ) => {
4+ state . ui . lng = value ;
5+ } ;
Original file line number Diff line number Diff line change 11import onChange from "on-change" ;
2+ import i18next from "../i18n.js" ;
23import { view } from "./view/index.js" ;
34import { model } from "./model/index.js" ;
45
@@ -13,6 +14,7 @@ const createState = () => {
1314 posts : [ ] ,
1415 activeItem : null ,
1516 ui : {
17+ lng : "ru" ,
1618 status : null , // 'error', 'success', 'pending'
1719 error : null ,
1820 } ,
@@ -48,6 +50,10 @@ const createState = () => {
4850 view . ui . renderUi ( "error" , value ) ;
4951 }
5052 break ;
53+ case "ui.lng" :
54+ i18next . changeLanguage ( state . ui . lng ) ;
55+ view . ui . renderUIText ( ) ;
56+ break ;
5157 }
5258 } ) ;
5359} ;
Original file line number Diff line number Diff line change 11export default {
22 translation : {
3- title : "RSS aggregator " ,
3+ title : "RSS agregator " ,
44 subtitle : "Start reading RSS today! It's easy, it's beautiful." ,
55 form_placeholder : "RSS Link" ,
66 add_btn : "Add" ,
You can’t perform that action at this time.
0 commit comments