Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vue rewrite #81

Merged
merged 285 commits into from
Dec 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
285 commits
Select commit Hold shift + click to select a range
30b8081
Transfer the check for ignored messages to vuex, and add watchers to …
guyguy2001 Jul 18, 2019
2b4ac54
Add watchers to OnlineTab as well
guyguy2001 Jul 18, 2019
d073c9f
Add watchers to OnlineTab as well
guyguy2001 Jul 18, 2019
bffc9ca
Merge branch 'vue-rewrite' of https://github.com/Eternagame/HTML-Chat…
guyguy2001 Jul 18, 2019
da07f68
Add more computed properties
guyguy2001 Jul 18, 2019
970a579
Change how mutes and bans are handled
guyguy2001 Jul 18, 2019
1fc1e69
Add an environment variable for the server url
guyguy2001 Jul 18, 2019
9a6f46a
Implement BanStatus as an enum
guyguy2001 Jul 18, 2019
1713d84
Make the chat into a module, and make a standalone page which uses it
guyguy2001 Jul 24, 2019
b714a96
Implement a login page and include eterna.min.css
guyguy2001 Jul 27, 2019
4261fe0
Fix a bug with the scalable input
guyguy2001 Jul 26, 2019
b42e369
Remove redundent css import
guyguy2001 Jul 27, 2019
a192394
Updated irc framewords types
guyguy2001 Dec 28, 2019
7d47c5b
Finished the history, commiting before the removal and rename of a lo…
guyguy2001 Jan 15, 2020
c3cdc2a
Start of the slack refactor
guyguy2001 Jan 17, 2020
5402abc
Finished the slack refactor
guyguy2001 Jan 19, 2020
5978aa9
Change LICENSE year to 2020
guyguy2001 Jan 19, 2020
04c8844
Username colors
guyguy2001 Jan 19, 2020
206e30f
Vuex Class Component Refactor
guyguy2001 Jan 26, 2020
e7e3cdf
Minor cleanups
guyguy2001 Jan 26, 2020
192b0fa
Settings panel with ignored users list
AlexHalb May 1, 2020
36060cb
Put unignore buttons on settings tab for each ignored user. Also put …
AlexHalb May 1, 2020
0139d1e
Font size actually changes. Also changed input type from range to num…
AlexHalb May 2, 2020
510bf38
Readded 'you have not ignored any users' thing
AlexHalb May 2, 2020
984b808
remove settings tab stuff because it isn't emoticons; can be merged a…
AlexHalb May 2, 2020
880cd57
1 emoticon button working somewhat. Really messy workaround
AlexHalb May 2, 2020
c48d2ef
Buttons are now working component
AlexHalb May 2, 2020
7b2e286
ExpandButton toggles display of EmoticonButtons with v-if="expansion"
AlexHalb May 2, 2020
48b4738
Expanded bar and made it work for everything
AlexHalb May 2, 2020
aee5953
Expanded emoticons, made sure everything worked for all configuration…
AlexHalb May 2, 2020
37fe4ab
Shortened code
AlexHalb May 2, 2020
ffa7aab
Merge pull request #1 from AlexHalb/vue-layout
AlexHalb May 2, 2020
e892df9
Basic layout for slideout
AlexHalb May 2, 2020
e7babad
Fixed bug
AlexHalb May 2, 2020
323aebe
Merge branch 'vue-rewrite' of https://github.com/AlexHalb/html-chat i…
AlexHalb May 2, 2020
6f0b6b0
Delete EmoticonButton.vue
AlexHalb May 3, 2020
1280e2b
Delete ExpandButton.vue
AlexHalb May 3, 2020
1c07346
Cleanup
AlexHalb May 3, 2020
b5015a9
Got it working
AlexHalb May 4, 2020
519ebd2
Works better
AlexHalb May 4, 2020
a3a4efd
Slideout set up, style changes
AlexHalb May 4, 2020
f3e45e7
Further cleanup
AlexHalb May 4, 2020
149182d
Made it look better
AlexHalb May 5, 2020
392383b
Added settings tab
AlexHalb May 5, 2020
f61bfb0
Animations!
AlexHalb May 5, 2020
0ab69a7
Icons!
AlexHalb May 5, 2020
54cff75
Fixed bug
AlexHalb May 5, 2020
c80bf23
Further minor changes
AlexHalb May 5, 2020
24d1716
Fixed settings
AlexHalb May 5, 2020
d6bd644
Design update
AlexHalb May 6, 2020
3ddbe48
Hamburger updates
AlexHalb May 6, 2020
f1f0daa
fixed border-radius
AlexHalb May 6, 2020
48359ae
Minor fixes
AlexHalb May 6, 2020
381fc98
chat-content doesn't disappear on slideout open
AlexHalb May 6, 2020
596997e
Changed size of divider between chats
AlexHalb May 6, 2020
a44a1b7
Text size now updates like it should
AlexHalb May 6, 2020
566f1ac
Changed size of settings button in slideout
AlexHalb May 6, 2020
f526b7c
Bug fix
AlexHalb May 6, 2020
46dd263
cleanup
AlexHalb May 6, 2020
21faad4
Send message button works
AlexHalb May 6, 2020
e455581
Cleanup and settings bug fix
AlexHalb May 6, 2020
e075722
Small fixes
AlexHalb May 6, 2020
033fc28
Styling
AlexHalb May 6, 2020
6b8e8f2
heavy cleanup, minor style
AlexHalb May 6, 2020
63061fc
Cleanup and commenting
AlexHalb May 7, 2020
db9218c
Fixed animations
AlexHalb May 7, 2020
139cb85
Minimization animation looks better
AlexHalb May 7, 2020
21dd11a
Fixed bug where connecting message has bullet point
AlexHalb May 7, 2020
bab28e8
Animation for send button
AlexHalb May 7, 2020
46c87e4
Bug fix animation
AlexHalb May 7, 2020
d6be1c7
Changed favicon
AlexHalb May 7, 2020
439d01e
Open window button works
AlexHalb May 8, 2020
f4a0e18
Put handler for description if not defined
AlexHalb May 8, 2020
05aa772
Basic notification structure
AlexHalb May 9, 2020
e564f27
Bug fix
AlexHalb May 11, 2020
e53cf49
Massive cleanup
AlexHalb May 12, 2020
52ba523
Settings menu + everything actually works
AlexHalb May 13, 2020
739690f
Styling, cleanup, title change
AlexHalb May 13, 2020
520d3ba
Commented code and made it easier to change indicator
AlexHalb May 13, 2020
731c532
Notification indicators, values stored in localStorage
AlexHalb May 13, 2020
887d39c
Fixed mutating props error and uncommented code that was necessary
AlexHalb May 14, 2020
d22b55a
Minor stylign
AlexHalb May 14, 2020
956cd67
Username colors
AlexHalb May 15, 2020
bd29404
New settings vuex module. Holds all settings except notifications
AlexHalb May 17, 2020
5f2d9a3
Fixed indicator bug
AlexHalb May 17, 2020
e4ce850
Split ColorPicker into a folder with two files
AlexHalb May 17, 2020
9284f59
Font size applies to settings
AlexHalb May 17, 2020
47b13fc
Font size restraints improved
AlexHalb May 17, 2020
d24de46
Buttons are styled
AlexHalb May 17, 2020
dc4665b
Fixed bug when no username color was in localStorage
AlexHalb May 19, 2020
25bbf07
Draggable chat
AlexHalb May 19, 2020
a44210f
Removed console.logs
AlexHalb May 19, 2020
370e29d
Sass/bootstrap for some colors, fixes
AlexHalb May 19, 2020
1fa5d82
Fixed SASS/Bootstrap bug and fixed chat input text overflow into icon…
AlexHalb May 20, 2020
25f8dff
Emoticons + markdown tools
AlexHalb May 26, 2020
52f81af
Further functionality and minor fixes
AlexHalb May 27, 2020
ca5e858
Bug fixes
AlexHalb May 27, 2020
09b5c64
Bug fix
AlexHalb May 27, 2020
af59d15
Submenu and styling updates (+ more bug fixes, per usual)
AlexHalb May 28, 2020
4f66c37
Fixed bug, minor tweaks
AlexHalb May 28, 2020
19d1926
Custom emoticons
AlexHalb May 28, 2020
dd3386b
Hover background, more padding, removed borders
AlexHalb May 28, 2020
e42ab91
Color slider bug fix and new toolbar layout
AlexHalb May 28, 2020
49f7efc
Cleanup
AlexHalb May 28, 2020
b98cfe2
Lightened chevron, theme colors
AlexHalb May 28, 2020
00ead7b
Oper functionality
AlexHalb Jun 3, 2020
9d852ac
Private messages
AlexHalb Jun 4, 2020
eae125a
Updated comments
AlexHalb Jun 4, 2020
10e4343
History
AlexHalb Jun 4, 2020
ef92c4d
Remember oper login, markdown, fixes
AlexHalb Jun 5, 2020
d78f49d
History works, bug fixes, styling updates
AlexHalb Jun 8, 2020
e6b9b27
Fixed several history bugs
AlexHalb Jun 8, 2020
640f4ea
Styling
AlexHalb Jun 8, 2020
839626e
Styling updates, image size fix, history message username colors
AlexHalb Jun 8, 2020
a628460
/me actions work in history messages
AlexHalb Jun 8, 2020
ebc76c6
Accessibility, bug fixes
AlexHalb Jun 8, 2020
9c176e3
Action menu fixes
AlexHalb Jun 8, 2020
0992cc2
History messages load username colors correctly
AlexHalb Jun 9, 2020
09ddaf6
Fixed bug where blank messages can be sent, updated channel names and…
AlexHalb Jun 9, 2020
3df1f8e
Fixed minor styling issues
AlexHalb Jun 9, 2020
b19b901
Notifications when user's name is mentioned (1)
AlexHalb Jun 9, 2020
cca9f21
Notifications when user's name is mentioned (2)
AlexHalb Jun 9, 2020
8e7e52d
Convert :) and text emoticons to Unicode emoji
AlexHalb Jun 10, 2020
178ee86
Fixed toolbar alignment
AlexHalb Jun 10, 2020
3b90699
Remade the settings menu
AlexHalb Jun 10, 2020
1e761d6
Bug fix with scrollbar for new settings layout
AlexHalb Jun 10, 2020
b27949a
Tooltips, more chat commands for operators
AlexHalb Jun 11, 2020
e39eb11
Fixed user being able to send one message before ban kicks in
AlexHalb Jun 12, 2020
178e35d
Bug fixes, various cleanup, etc.
AlexHalb Jun 12, 2020
4bae543
Resizable
AlexHalb Jun 12, 2020
a5198d0
Operators join #ops-notifications on login
AlexHalb Jun 13, 2020
d9178a9
Removed redundant todos
AlexHalb Jun 13, 2020
eff9dc7
Slideout closes when a click is outside the slideout and in the chat
AlexHalb Jun 13, 2020
6a847af
Bug fixes, etc
AlexHalb Jun 15, 2020
ffe9604
Custom nicks for opers
AlexHalb Jun 16, 2020
2c73f50
Fixed certain nicks being displayed incorrectly
AlexHalb Jun 16, 2020
a2df09f
Away status
AlexHalb Jun 17, 2020
6e921b2
General fixes and cleanup - see finished list in todo section of App.…
AlexHalb Jun 17, 2020
3fce8e1
Reorganized, cleanup, bug fixes (see todo.md)
AlexHalb Jun 18, 2020
9d7bad3
Redid slideout header buttons
AlexHalb Jun 18, 2020
79575d2
Comments
AlexHalb Jun 18, 2020
c51357a
Last of the cleanup/bug fixes (hopefully)
AlexHalb Jun 19, 2020
04d8603
Tooltip updates
AlexHalb Jun 19, 2020
f39582b
Updated tooltips slightly
AlexHalb Jun 19, 2020
27506d1
Tooltip displayed when a username in a message is hovered over
AlexHalb Jun 19, 2020
e85871d
Autocompletion for usernames
AlexHalb Jun 19, 2020
6fc4740
Encryption for oper login
AlexHalb Jun 19, 2020
ef08b09
Markdown quotes
AlexHalb Jun 19, 2020
acc911c
Bug fixes, redid markdown toolbar buttons
AlexHalb Jun 20, 2020
09e0b5d
Minor style updates
AlexHalb Jun 20, 2020
e34d289
Username in chat message opens profile on click
AlexHalb Jun 20, 2020
fe04c62
Autoscroll fixes
AlexHalb Jun 20, 2020
35381e6
Made settings sections into component, bug fixes
AlexHalb Jun 21, 2020
1211e79
Made SlideoutSettings sections components
AlexHalb Jun 21, 2020
bc4efcb
Reorganized, accessibility, autoscroll
AlexHalb Jun 21, 2020
941aad1
Chat positioned relative to edges when in-game
AlexHalb Jun 22, 2020
4c339bc
Unread message indicator when user scrolls up
AlexHalb Jun 22, 2020
a7295cc
Notifications when tab not focused
AlexHalb Jun 22, 2020
e1a6964
Tooltip shows profile image
AlexHalb Jun 22, 2020
10f7b09
Bug fixes, cleanup, markdown preview in toolbar
AlexHalb Jun 23, 2020
506dd3f
Preview shows selected text in input
AlexHalb Jun 23, 2020
20e845f
Possibly spoofed links open confirmation modal
AlexHalb Jun 23, 2020
5661c07
Readded channel and user message links
AlexHalb Jun 23, 2020
35cbfa6
Screenshots and keywords appear correctly, consecutive messages by us…
AlexHalb Jun 23, 2020
c33b479
Desktop notifications
AlexHalb Jun 23, 2020
c9cc4d0
Replaced some settings buttons with switches
AlexHalb Jun 23, 2020
90be256
Notifications channel vertically aligned w/ switch
AlexHalb Jun 23, 2020
203a33f
Changes to layout of settings tab, bug fixes
AlexHalb Jun 24, 2020
949f45d
Fixed styling, added tooltips
AlexHalb Jun 24, 2020
5fa3bd8
Accesibility
AlexHalb Jun 24, 2020
a9f16a9
Markdown
AlexHalb Jun 24, 2020
ca1745e
Default size for chat, further accessibility
AlexHalb Jun 24, 2020
036dc45
More accessibility
AlexHalb Jun 24, 2020
a03830b
Fixed bugs with oper login
AlexHalb Jun 24, 2020
cfbf939
Fixed bugs
AlexHalb Jun 24, 2020
76c4ebe
Away reason, settings UI, accessibility
AlexHalb Jun 24, 2020
bc10dff
Fixed user always being kicked from all channels
AlexHalb Jun 25, 2020
88f5295
Draggable/reorderable markdown buttons in toolbar
AlexHalb Jun 25, 2020
7579454
Fixed bugs w/ reordering, order of buttons saves
AlexHalb Jun 25, 2020
9f04626
Custom emoticons in settings
AlexHalb Jun 26, 2020
96dcd4b
More chat commands, bug fixes
AlexHalb Jun 26, 2020
8642ee7
Puzzle tooltips, cleanup
AlexHalb Jun 26, 2020
e750e1f
User can add and remove channels
AlexHalb Jun 27, 2020
9070fd6
Screenshots are links to full-sized image
AlexHalb Jun 27, 2020
5d11cea
Chat commands for joining/leaving channels
AlexHalb Jun 27, 2020
f77fde6
Local messages pins, switches and chat select buttons are accessible,…
AlexHalb Jun 27, 2020
4a73988
Accesibility, blockquote fixes
AlexHalb Jun 28, 2020
a1d38f8
Bug fixes (highlighting)
AlexHalb Jun 28, 2020
004672d
Fixed markdown bug, made responsive tooltips
AlexHalb Jun 29, 2020
0ca5feb
Pin button indicates whether pins are visible
AlexHalb Jun 29, 2020
834daef
Banned users can't send messages
AlexHalb Jun 29, 2020
ceb9bf7
Comments and cleanup
AlexHalb Jun 29, 2020
60351ff
localStorage values are prefixed with chat_
AlexHalb Jun 29, 2020
201cf23
Bug fixes, chat select buttons styling,
AlexHalb Jun 29, 2020
1147407
Link modals don't flag images or users
AlexHalb Jun 29, 2020
7722be4
Typing messages
AlexHalb Jul 1, 2020
a4c1526
Setting for typing messages
AlexHalb Jul 8, 2020
8a32318
Forum position, all positions float to edge, etc
AlexHalb Jul 8, 2020
ea9f6cb
Chat helper
AlexHalb Jul 8, 2020
9918832
Fixed text selection/wrap bug
AlexHalb Jul 13, 2020
9f0d448
PR requested changes
AlexHalb Jul 13, 2020
aa7a6d2
Fixed bugs caused by previous commit
AlexHalb Jul 13, 2020
e2b3373
Update README.md
luxaritas Jul 13, 2020
c0f2c0c
PR requested changes
AlexHalb Jul 14, 2020
c77e32e
Fixed oper login bugs
AlexHalb Jul 15, 2020
fa191c6
Bootstrap (mostly done)
AlexHalb Jul 16, 2020
e033ba7
More bootstrap + bug fixes
AlexHalb Jul 16, 2020
b28eddc
Updated readme for multiple channels
AlexHalb Jul 16, 2020
d7f88fa
Appeased TS, made it hopefully work w/ website
AlexHalb Jul 18, 2020
713cbda
try 2 for making it work with the website
AlexHalb Jul 18, 2020
e7ef0f6
Revert changes to package.json
AlexHalb Jul 18, 2020
3208937
Merge branch 'vue-rewrite' into Layout
AlexHalb Jul 18, 2020
5a0c134
Delete todo.md
luxaritas Jul 21, 2020
9a947b5
Update src/app/components/Slideout/Settings/Sections/IgnoredSection.vue
AlexHalb Jul 21, 2020
fc15aea
Update src/app/components/Slideout/Settings/Sections/IgnoredSection.vue
AlexHalb Jul 21, 2020
7656bdd
Update src/app/components/Panes/UnreadMessageBanner.vue
AlexHalb Jul 21, 2020
9849fa3
Update src/app/components/Slideout/SlideoutButton.vue
AlexHalb Jul 21, 2020
f14407c
Settings tooltip fixes
AlexHalb Jul 21, 2020
a9dca94
Chat message options is visible and unobscured
AlexHalb Jul 21, 2020
326ea08
Input toolbar/menu bug/styling fixes
AlexHalb Jul 21, 2020
6ce1239
Toolbar menu buttons close submenus properly
AlexHalb Jul 21, 2020
ed502c7
Merge branch 'Layout' of https://github.com/AlexHalb/html-chat into L…
AlexHalb Jul 21, 2020
56fc16e
Scrollbar fix for firefox
AlexHalb Jul 21, 2020
95d6d3b
Settings menu styles for small sizes
AlexHalb Jul 21, 2020
6dfa31f
Update styles and split into original files; delete unused variable i…
AlexHalb Jul 21, 2020
7f8f46f
Renamed 'pin' to 'star'
AlexHalb Jul 21, 2020
bda80d1
Remove redundant imports, make paths relative
AlexHalb Jul 21, 2020
a907568
Accessibility in link modal, vxm font size getter
AlexHalb Jul 21, 2020
e41bd63
Typing messages handled by section
AlexHalb Jul 21, 2020
e1c912c
aria-label update to SlideoutButton
AlexHalb Jul 21, 2020
35a2a81
Extracted context menu and options into component
AlexHalb Jul 21, 2020
2f8494f
Handled message displays a little differently
AlexHalb Jul 21, 2020
a854552
Redone tooltips, styled updates
AlexHalb Jul 21, 2020
ec2a036
Tooltips have loading spinners
AlexHalb Jul 21, 2020
fa954e3
Fixed contrast calculations
AlexHalb Jul 21, 2020
7b2c79f
Chat slides along edges and can't go past them
AlexHalb Jul 21, 2020
def4b01
Chat docking and minimization upgrades
AlexHalb Jul 24, 2020
60fadae
Resizing handles
AlexHalb Jul 24, 2020
7e06da3
Small improvements to minimization
AlexHalb Jul 25, 2020
08736ee
General bug fixes; private messages; user tooltips
AlexHalb Jul 25, 2020
d016038
Fix to overflow bugs
AlexHalb Jul 25, 2020
53613ee
Standalone page login properly handles anonymous
AlexHalb Jul 25, 2020
fff4570
Remove console.log, display message group properly
AlexHalb Jul 25, 2020
5cba1f8
Reduce minimum width to 300; current chat is 272
AlexHalb Jul 25, 2020
169bac3
Correct use of aria-label
AlexHalb Jul 26, 2020
22c44d4
Further accessibility
AlexHalb Jul 26, 2020
24f3b06
Rearrange chat.vuex to group related functions
AlexHalb Jul 27, 2020
0bd6f2d
External links are not treated as relative urls
AlexHalb Jul 27, 2020
e7bf48e
Merge pull request #95 from AlexHalb/Layout
luxaritas Dec 15, 2023
aa9b4ff
Merge branch 'dev' into vue-rewrite
luxaritas Dec 15, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .browserslistrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
> 1%
last 2 versions
not ie <= 8
7 changes: 7 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[*.{js,jsx,ts,tsx,vue}]
indent_style = space
indent_size = 2
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 100
2 changes: 2 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
VUE_APP_SERVER_URL=irc.eternagame.org/chatws/websocket
VUE_APP_SSL=true
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
src/types/modules/*
49 changes: 49 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
module.exports = {
root: true,
env: {
node: true,
},
extends: [
'plugin:vue/essential',
'@vue/airbnb',
'@vue/typescript',
],
ignorePatterns: ['vue.config.js', 'server/'],
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
camelcase: 'off',
'vue/script-indent': ['error', 2, {
baseIndent: 1,
}],
'no-param-reassign': ['error', { props: false }],
semi: 'off',
'@typescript-eslint/semi': ['error'],
'no-unused-vars': 'off',
'arrow-parens': 'off',
'no-underscore-dangle': ['error', { allow: ['__INITIAL_STATE__'] }],
'no-plusplus': 'off',
'max-classes-per-file': 'off',
'class-methods-use-this': 'off',
'no-unused-expressions': 'off',
},
parserOptions: {
parser: '@typescript-eslint/parser',
},
overrides: [
{
files: ['*.vue'],
rules: {
indent: 'off',
},
},
{
files: [
'**/__tests__/*.{j,t}s?(x)',
],
env: {
jest: true,
},
},
],
};
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
24 changes: 21 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,24 @@
.DS_Store
node_modules
dist
/dist

/tests/e2e/reports/
selenium-debug.log

# local env files
.env.local
.env.*.local

# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# IDEs
.vscode
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw*
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2016, Eterna Commons All rights reserved.
Copyright (c) 2020, Eterna Commons All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Expand Down
58 changes: 36 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,38 @@
# HTML-Chat
HTML5 implementation of Eterna's web-based IRC chat client to replace the legacy Flash-based implementation

Please note that a rewritten version using Vue.js is planned to improve the readability and extensibility of the codebase. More info will be forthcoming.

As a reference, the chat server currently uses [txircd](https://github.com/ElementalAlchemist/txircd) as the IRCd daemon and a custom python-based IRC bot to record recent history.

## Setup
This code makes use of the [webpack](https://webpack.js.org/) module bundler. In order to run the app, do the following:
* Install [NodeJS and npm](https://nodejs.org/en/download/)
* Open a command prompt/terminal, cd into HTML-Chat, and run `npm install`
* To start a development server, run `npm start`
* Open a browser and navigate to localhost:9000, then enter your username and password (or leave blank to use without logging in), then optionally a channel if you don't want to post in the main chat (ie if your testing could eb considered disruptive or cause other clients to break)

To create a one-off set of files with webpack, run `npm run build:dev` for the development build or `npm run build:prod` for the production configuration
# html-chat
Web-based chat client for Eterna

Interested in development? Join the discusson on the Eterna Discord!

[![Eterna Discord](https://discord.com/api/guilds/702618517589065758/widget.png?style=banner2)](https://discord.gg/KYeTwux)

## Project setup
```
npm install
```

### Compiles and hot-reloads for development
```
npm run serve
```

### Compiles and minifies for production
```
npm run build
```

### Run tests
All Tests
```
npm run test
```
Unit Tests
```
npm run test:unit
```
End-To-End Tests
```
npm run test:e2e
```

## Contributing
Feel free to fork this repository, make some changes, and create a pull request. Your changes will then be revewed, merged, and deployed once accepted. It is encouraged to use a channel other than #global (the default) for testing purposes if it could be disruptive.

Currently compatibility must be maintained between this chat and the legacy Flash chat, until it can be implemented into the game. At that point, more significant changes may be implemented to improve implementations based on IRCv3 functionality and and other functions that would otherwise "break" the Flash chat.

-----------------------------------------

Design and implementation of initial release: [@luxaritas](https://github.com/luxaritas) ([Eterna](http://www.eternagame.org/web/player/48290/))
Feel free to fork this repository, make some changes, and create a pull request. Your changes will then be reviewed, merged, and deployed once accepted. We encourage you to use different channels than the main ones (#general, #off-topic, #help, and #labs) if your testing could be considered disruptive. We also recommend joining our [Discord](https://discord.gg/KYeTwux) to chat with other developers.
5 changes: 5 additions & 0 deletions babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module.exports = {
presets: [
'@vue/app',
],
};
25 changes: 25 additions & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
module.exports = {
moduleFileExtensions: [
'js',
'jsx',
'json',
'vue',
'ts',
'tsx',
],
transform: {
'^.+\\.vue$': 'vue-jest',
'.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$': 'jest-transform-stub',
'^.+\\.tsx?$': 'ts-jest',
},
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/app/$1',
},
snapshotSerializers: [
'jest-serializer-vue',
],
testMatch: [
'**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)',
],
testURL: 'http://localhost/',
};
Loading